1 使用临时变量进行两数交换
int a = a + b ;
int b = a - b ;
int a = a - b ;
2 使用异或方法进行两数交换
a = a ^ b ;
b = a ^ b ; // 即 b = (a ^ b) ^ b = a ^ (b ^ b) = a ^ 0 = a
a = a ^ b ; // 即 a = (a ^ b) ^ b = (a ^ b) ^ a = 0 ^ b = b
注 :
异或特性,对于x
x ^ 0 = x ;
x ^ x = 0 ;