黑马程序员技术交流社区

标题: 两个数交换,不用第三个数! [打印本页]

作者: 13885528457    时间: 2015-12-24 22:19
标题: 两个数交换,不用第三个数!
两个数交换可以不用第三个变量,有没有人能帮帮我,告诉我怎么做!!
作者: 13885528457    时间: 2015-12-24 22:20
比如,a=3,b=5,  然后 转换成b =3 ,a=5,不需要第三个变量的情况下
作者: 海棠依旧2046    时间: 2015-12-24 23:27
这个有大牛是可以实现的,我也想知道
作者: 956251361    时间: 2015-12-25 09:50
可以通过位运算来实现
int a=10,b=12;
a=a^b;
b=a^b;
a=a^b;
此算法能够实现是由异或运算的特点决定的,通过异或运算能够使数据中的某些位翻转,其他位不变。这就意味着任意一个数与任意一个给定的值连续异或两次,值不变。
作者: 小ㄟMò    时间: 2015-12-25 12:29
a=a+b;
b=a-b;
a=a-b;
作者: 15931110616    时间: 2015-12-25 14:27
视频里面这几种方法都讲了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2