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;
- }