void swap1 (int & a, int &b)
//1.使用局部变量temp
{
int temp = a;
a = b;
b = temp;
}
//2.使用加减运算完成交换
void swap2 (int & a, int &b)
{
a = a +b;
b = a - b;
a = a - b;
}
//3.使用异或运算完成交换
void swap3 (int & a, int &b)
{
a ^ = b;
b ^ = a;
a ^ = b;
}
第一种交换是我们常见的值交换;第二种是采用简单的加减运算来交换,这种方式的缺点是会产生数据溢出;第三种采用了按位异或;推荐使用第三种方法;