"함수 swap()"의 두 판 사이의 차이

 
(사용자 3명의 중간 판 20개는 보이지 않습니다)
3번째 줄: 3번째 줄:
;스왑, 교체 연산, 교체
;스왑, 교체 연산, 교체
*두 변수에 들어 있는 값을 서로 맞바꾸는 연산
*두 변수에 들어 있는 값을 서로 맞바꾸는 연산
==JavaScript==
[[category: JavaScript]]
{{참고|자바스크립트 swap()}}
<syntaxhighlight lang='JavaScript' run>
var a = 3;
var b = 5;
[a,b] = [b,a];
console.log( a ); // 5
console.log( b ); // 3
</syntaxhighlight>


==PHP==
==PHP==
[[category:PHP]]
[[category:PHP]]
;swap with temp
{{참고|PHP swap}}
<source lang='php'>
{{소스헤더|swap with array}}
list($a,$b) = array($b,$a);
<syntaxhighlight lang='php' run>
</source>
$a = 3; $b = 5;
<source lang='php'>
list($a,$b) = [$b,$a];
echo "a=$a, b=$b";
</syntaxhighlight>
<syntaxhighlight lang='php' run>
function swap(&$a, &$b) {
function swap(&$a, &$b) {
list($a,$b) = array($b,$a);
list($a,$b) = array($b,$a);
}
}
</source>
$a = 3; $b = 5;
<source lang='php'>
swap($a, $b);
echo "a=$a, b=$b";
</syntaxhighlight>
{{소스헤더|swap with temp}}
<syntaxhighlight lang='php' run>
function swap(&$a, &$b) {
function swap(&$a, &$b) {
$temp = $b;
$temp = $b;
21번째 줄: 39번째 줄:
$a = $temp;
$a = $temp;
}
}
</source>
$a = 3; $b = 5;
;xor swap
swap($a, $b);
<source lang='php'>
echo "a=$a, b=$b";
</syntaxhighlight>
{{소스헤더|xor swap}}
<syntaxhighlight lang='php' run>
$a = 3; $b = 5;
$a ^= $b ^= $a ^= $b;
$a ^= $b ^= $a ^= $b;
</source>
echo "a=$a, b=$b";
<source lang='php'>
</syntaxhighlight>
<syntaxhighlight lang='php' run>
function xor_swap(&$a, &$b) {
function xor_swap(&$a, &$b) {
     $a = $a ^ $b;
     $a = $a ^ $b;
32번째 줄: 55번째 줄:
     $a = $a ^ $b;
     $a = $a ^ $b;
}
}
</source>
$a = 3; $b = 5;
xor_swap($a, $b);
echo "a=$a, b=$b";
</syntaxhighlight>


==Python==
==Python==
[[category: Python]]
[[category: Python]]
<source lang='Python'>
{{참고|파이썬 swap}}
<syntaxhighlight lang='Python' run>
a = 3
a = 3
b = 5
b = 5
a, b = b, a
a, b = b, a
print( a )
print( a, b )
# 5
# 5 3
print( b )
</syntaxhighlight>
# 3
<syntaxhighlight lang='Python' run>
</source>
a = 3
<source lang='Python'>
b = 5
(a, b) = (b, a)
(a, b) = (b, a)
</source>
print( a, b )
# 5 3
</syntaxhighlight>


==Perl==
==Perl==
[[category: Perl]]
[[category: Perl]]
<source lang='perl'>
<syntaxhighlight lang='perl' run>
my ($a, $b) = (3, 5);
my ($a, $b) = (3, 5);
($a, $b) = ($b, $a);
($a, $b) = ($b, $a);
</source>
print $a . "\n"; # 5
print $b . "\n"; # 3
</syntaxhighlight>


==Ruby==
==Ruby==
[[category: Ruby]]
[[category: Ruby]]
<source lang='ruby'>
<syntaxhighlight lang='ruby' run>
a = 3
a = 3
b = 5
b = 5
a,b = b,a
a,b = b,a
puts a
puts a # 5
# 5
puts b # 3
puts b
</syntaxhighlight>
# 3
</source>


==같이 보기==
==같이 보기==
* [[XOR 교체 알고리즘]]
* [[함수 xor_swap()]]
* [[해체 할당]]
* [[해체 할당]]



2021년 5월 7일 (금) 17:02 기준 최신판

1 개요[ | ]

swap
스왑, 교체 연산, 교체
  • 두 변수에 들어 있는 값을 서로 맞바꾸는 연산

2 JavaScript[ | ]

var a = 3;
var b = 5;
[a,b] = [b,a];
console.log( a ); // 5
console.log( b ); // 3

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";

4 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

5 Perl[ | ]

my ($a, $b) = (3, 5);
($a, $b) = ($b, $a);
print $a . "\n"; # 5
print $b . "\n"; # 3

6 Ruby[ | ]

a = 3
b = 5
a,b = b,a
puts a # 5
puts b # 3

7 같이 보기[ | ]

8 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}