交换函数swap的三种实现方法

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. }  
原文地址:https://www.cnblogs.com/shihuvini/p/7897770.html