交换函数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. }  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM