1、使用中间变量
void swapInt(int& a,int& b)
{
//detect whether a is equal to b
if (a ^ b)
{
int tmp = a;
a = b;
b = tmp;
}
}
2、使用异或
}void swapInt(int& a,int& b) { if(a^b) { a ^= b; b ^= a; a ^= b; }
3、使用加减法swapInt(int& a,int& b) { if(a^b) { a += b; b =a - b; a -= b; } } }