개요
- swap
- 스왑, 교체 연산, 교체
- 두 변수에 들어 있는 값을 서로 맞바꾸는 연산
JavaScript
var a = 3;
var b = 5;
[a,b] = [b,a];
console.log( a ); // 5
console.log( b ); // 3
PHP
swap with array
$a = 3; $b = 5;
list($a,$b) = [$b,$a];
echo "a=$a, b=$b";
function swap(&$a, &$b) {
list($a,$b) = array($b,$a);
}
$a = 3; $b = 5;
swap($a, $b);
echo "a=$a, b=$b";
swap with temp
function swap(&$a, &$b) {
$temp = $b;
$b = $a;
$a = $temp;
}
$a = 3; $b = 5;
swap($a, $b);
echo "a=$a, b=$b";
xor swap
$a = 3; $b = 5;
$a ^= $b ^= $a ^= $b;
echo "a=$a, b=$b";
function xor_swap(&$a, &$b) {
$a = $a ^ $b;
$b = $a ^ $b;
$a = $a ^ $b;
}
$a = 3; $b = 5;
xor_swap($a, $b);
echo "a=$a, b=$b";
Python
a = 3
b = 5
a, b = b, a
print( a, b )
# 5 3
a = 3
b = 5
(a, b) = (b, a)
print( a, b )
# 5 3
Perl
my ($a, $b) = (3, 5);
($a, $b) = ($b, $a);
print $a . "\n"; # 5
print $b . "\n"; # 3
Ruby
a = 3
b = 5
a,b = b,a
puts a # 5
puts b # 3