1. 程式人生 > >交換函數swap的三種實現方法

交換函數swap的三種實現方法

tools view art pbo class -m tails 鏈接 clip

http://blog.csdn.net/GarfieldEr007/article/details/48314295

本文采用三種方式實現兩個數之間的交換,分別是①借助輔助變量temp的swap函數,②采用加減法的swap函數 ,③使用異或運算的swap函數。

現在直奔主題:

1、借助輔助變量temp的swap函數

I、引用類型形參

[cpp] view plain copy
  1. void swap(int &a, int &b) //引用類型方式
  2. {
  3. int temp; //輔助變量
  4. temp = a;
  5. a = b;
  6. b = temp;
  7. }

II、指針類型形參

[cpp] view plain copy
  1. void swap(int *a, int *b)
  2. {
  3. int temp;
  4. temp = *a;
  5. *a = *b;
  6. *b = temp;
  7. }



2、采用加減法的swap函數

[cpp] view plain copy
  1. void swap(int &a, int &b)
  2. {
  3. a = a + b;
  4. b = a - b;
  5. a = a - b;
  6. }

3、使用異或運算的swap函數

[cpp] view plain copy
    1. void swap(int &a, int &b)
    2. {
    3. a = a ^ b;
    4. b = a ^ b;
    5. a = a ^ b;
    6. }

交換函數swap的三種實現方法