두 변수를 swap하는 방법 몇가지
두 정수를 swap하는 여러가지 방법
- 추가 메모리 이용
- bitwise 연산 이용
- 산술 연산자 이용
1. 추가 메모리 이용
- 가장 많이 쓰는 방법
- tmp 변수를 두고 여기에 저장을 하여 swap
1 2 3 4 5
int a, b, tmp; a = 20; b = 10; tmp = a; a = b; b = tmp;
2. bitwise 연산 이용
- XOR의 특성을 이용함
1
2
3
4
5
6
int a = 3; // 0011
int b = 7; // 0111
a ^= b; // 0100
b ^= a; // 0011
a ^= b; // 0111
3. 산술 연산 이용
1
2
3
4
5
6
int a = 10;
int b = 20;
a = a + b; // 30
b = a - b; // 10
a = a - b; // 20
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.