A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 魏冬 于 2012-11-14 11:31 编辑

第一种
int x=3;
int y=6;
int z;(定义一个中间变量)
z=x;
x=y;
y=z;
第二种方法(有点不科学:D 不需要中间变量的互换)
x=x+y;
y=x-y;
x=x-y;
下面是第三种(也就是面试要面试的一种互换的方式  同学们,要注意了哦!!!!!)
x=x^y;
y=x^y;
x=x^y;第三种方法虽然效率高,但是可读性差,不容易理解。

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 神马都是浮云

查看全部评分

9 个回复

正序浏览
第三中的解释:
(1)x=x^y;
(2)y=x^y;//用(1)取代x:(4)y=x^y^y=x
(3)x=x^y;//用(1)取代x,用(4)取代y:x=x^y^x=y
回复 使用道具 举报
何伟 中级黑马 2012-11-27 15:14:32
9#
魏冬 发表于 2012-11-10 23:34
值不变? 我试了啊 第三种也变了啊?

第三者方法的原理就是把一个数^两次它的值是不会变的,
回复 使用道具 举报
开发用的也就是第一种啊,没什么掌握的,了解了解就行。
回复 使用道具 举报
何伟 中级黑马 2012-11-12 14:29:08
7#
魏冬 发表于 2012-11-10 23:34
值不变? 我试了啊 第三种也变了啊?

我说的是一个数^同一个数两次他的值不会变
回复 使用道具 举报
^怎么读的
回复 使用道具 举报
第一种最通用,声明一个中间变量,建议使用第一种。
回复 使用道具 举报
b378989081 发表于 2012-11-10 16:59
第一个最常用,第三个就是把一个数^两次它的值是不会变

值不变? 我试了啊 第三种也变了啊?
回复 使用道具 举报
哦哦 学习学习哈
回复 使用道具 举报
何伟 来自手机 中级黑马 2012-11-10 16:59:28
沙发
第一个最常用,第三个就是把一个数^两次它的值是不会变
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马