会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
liulunet
成长记录
博客园
::
首页
::
博问
::
闪存
::
新随笔
::
联系
::
订阅
::
管理
::
公告
2011年5月19日
不申请额外内存空间就可以完成数据互换的算法:int x=a,y=b;设计一个算法,不申请第三个变量,试把a b互换位置 (按位异或)
摘要: 经过microsoftmvp的指点学到这个方法 x^=y;y^=x;x^=y;^是位异或操作符,在每个位的位置,如果两个操作数对应的位只有一个(不是两个)为1,则操作结果中该位为1,否则为0。另外还学到一种方法,不过遇到值为0就不行了(除数不能为0)a=a*b;b=a/b;a=a/b; 相比之下还是位异或方法最好。
阅读全文
posted @ 2011-05-19 12:52 liulunet
阅读(501)
评论(0)
推荐(0)
编辑