交换 int a, int b
1、最弱的方法
1 void swap(int &a,int &b) 2 { 3 int c = a; 4 a = b; 5 b = c; 6 }
2、不用另外开辟空间的方法
1 void swap(int &a,int &b) 2 { 3 a=a+b; 4 b=a-b; 5 a=a-b; 6 }
3、高效的位操作
1 void swap(int &a,int &b) 2 { 3 a=a ^b; 4 b =a^ b; //(=a^b^b=a^0=a) 5 a= a ^ b; //(=a^b^a=a^a^b=0^b=b) 6 }