码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-11-26 11:19:18      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:交换   void   get   之间   net   指针类型   com   class   detail   

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的三种实现方法

标签:交换   void   get   之间   net   指针类型   com   class   detail   

原文地址:http://www.cnblogs.com/shihuvini/p/7897770.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!