http://blog.csdn.net/GarfieldEr007/article/details/48314295
本文采用三种方式实现两个数之间的交换,分别是①借助辅助变量temp的swap函数,②采用加减法的swap函数 ,③使用异或运算的swap函数。
现在直奔主题:
1、借助辅助变量temp的swap函数
I、引用类型形参
- void swap(int &a, int &b) //引用类型方式
- {
- int temp; //辅助变量
- temp = a;
- a = b;
- b = temp;
- }
II、指针类型形参
- void swap(int *a, int *b)
- {
- int temp;
- temp = *a;
- *a = *b;
- *b = temp;
- }
2、采用加减法的swap函数
- void swap(int &a, int &b)
- {
- a = a + b;
- b = a - b;
- a = a - b;
- }
3、使用异或运算的swap函数
- void swap(int &a, int &b)
- {
- a = a ^ b;
- b = a ^ b;
- a = a ^ b;
- }