交換函數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