Swap을 안쓰고 (메모리를 하나 더 안쓰고) int a와 int b를 교환할 수 있는가?

2019. 11. 22. 13:14개발/이야기

int x = 10;

int y = 5;

일때 

 

방법 1

  • x = x + y
  • y = x - y // x == x+y
  • x = x - y // y 값으로 swap 됨

 

방법 2

  • x = x ^ y;
  • y = x ^ y;
  • x = x ^ y;  // ^ -> xor 연산