第 1 种方式
使用临时变量
特点:很直观,能一下子看出来
void Swap1(int& a, int& b)
{
int temp = a;
a = b;
b = temp;
}
第 2 种方式
不使用临时变量,使用算术的形式
特点:适用范围比较窄,而且不小心就可能会数据溢出
void Swap2(int& a, int& b)
{
a = a + b;
b = a - b;
a = a - b;
}
第 3 种方式
使用按位异或运算(^)
相关规则:
0 ^ 0 = 01 ^ 1 = 0
0 ^ 1 = 1
1 ^ 0 = 1
即相同结果为 0,不相同结果为 1。
举个栗子:2 ^ 32 = 10
3 = 11
结果为: 01 即 2^3=1
void Swap3(int& a, int& b)
{
a = a ^ b;
b =