- 变量交换a,b值得三种方式
- 使用临时变量进行交换
1 void swap1(int &a,int &b)2 {3 int temp=a;4 a=b;5 b=temp;6 }
- 使用加减运算进行交换
1 void swap2(int &a,int &b)2 {3 a=a+b;4 b=a-b;5 a=a-b;6 }
- 使用异或运算进行交换
void swap3(int &a,int &b){a^=b;b^=a;a^=b;}
2.上述的三个swap()函数均为引用传参的方式
swap2(int &a,int &b)有可能会发生数据溢出的情况,相比较而言使用swap3()比较好