首页 > 其他 > 详细

不借助第三个变量交换两个变量的值

时间:2015-10-10 21:31:14      阅读:288      评论:0      收藏:0      [点我收藏+]

交换两个变量的值,一般的解决方法就是用一个临时变量保存转换过程中的值因为如果直接进行交换的话:a=b;则a原来的值会被冲掉。

比如:

int a,b;

int temp;

temp=a;

a=b;

b=temp;

只要在交换的过程中是a、b的值不被冲掉就可以达到交换的目的,实现的方法有下面两种(还有一种c指针方法就不介绍了)

(1)int a=10,b=12;

       a=b-a;

       b=b-a;

       a=b+a;这样就完成了a、b的交换,并且没有借助第三个变量,因为惯性思维,这种方法会很难被想到

(2)位运算来实现

       int a,b;

       a=a^b;

       b=b^a;

       a=a^b;

先写这麽多吧,以后有新的方法再补充

不借助第三个变量交换两个变量的值

原文:http://www.cnblogs.com/ysw-go/p/4868149.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!