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

将两个变量中的值进行互换的几种方法

时间:2015-05-12 01:45:19      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:两个变量中的数据互换方法

   在做软件开发的过程中,经常需要将两个变量中的数值进行互换。我们可以使用的互换方法有三种。


第一种方法:

int a = 3, b = 4;
int tmp;

tmp = a;
a = b;
b = tmp;

  这种做法,是我们经常用到的做法,就是通过借助第三变量。

            优点是:可读性强。

            缺点是:引入第三方变量,占用内存大。


第二种方法:

int a = 3, b = 4;

a = a + b ; // a = 7;   原理是利用两个数的和  a + b = sum

b = a - b;  // b = 7 - 4 = 3   b = sum - b

a = a - b; //  a = 7 - 3 = 4;  a = sum - b

   这种方法的缺陷是: 如果两个变量的值都非常大的话,会造成两个变量的和溢出。

            优点是:没有引入第三方变量,计较节省内存。

            缺点是: 存在数据溢出的风险,可读性不强。


第三种方法:


int a = 3, b = 4;


a = a ^ b;  // 原理是利用异或运算符

b = a ^ b;  // b = a ^ b ^ b = a   a ^ a = 0,  b ^ 0 = b

a = a ^ b;  // a = a ^ b ^ a  =  a ^ a ^ b

   这种方法的优点是:没有引入第三方变量,节省内存空间;

                     不存在数据溢出的问题;

             缺点是:技巧性较强,可读性较差。

本文出自 “阿辉仔” 博客,请务必保留此出处http://weiguozhihui.blog.51cto.com/3060615/1650435

将两个变量中的值进行互换的几种方法

标签:两个变量中的数据互换方法

原文地址:http://weiguozhihui.blog.51cto.com/3060615/1650435

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