随笔 - 46  文章 - 39  trackbacks - 0
<2012年5月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用链接

留言簿(2)

随笔分类

随笔档案

友情链接

搜索

  •  

最新评论

阅读排行榜

评论排行榜

1 void inplace_swap(int *x, int *y)
2 {
3     *= *^ *y;
4     *= *^ *y;
5     *= *^ *y;
6 }
posted on 2012-05-29 13:58 canaan 阅读(1746) 评论(6)  编辑 收藏 引用 所属分类: 算法

FeedBack:
# re: 不使用中间变量交换两个整型值的方法(不会溢出) 2012-05-29 14:09 匿名
x,y地址相同时候,会出现问题  回复  更多评论
  
# re: 不使用中间变量交换两个整型值的方法(不会溢出) 2012-05-29 14:45 canaan
@匿名
确实是这样的,要避免相同地址的整数进行交换运算
否则结果会变成0
  回复  更多评论
  
# re: 不使用中间变量交换两个整型值的方法(不会溢出) 2012-05-30 05:47 匿名
没意义。 效率也低。  回复  更多评论
  
# re: 不使用中间变量交换两个整型值的方法(不会溢出) 2012-05-30 08:47 夜猫子
没有实际用处  回复  更多评论
  
# re: 不使用中间变量交换两个整型值的方法(不会溢出) 2012-05-30 09:00 canaan
这个算法只是个技术学习,并不提倡实际应用  回复  更多评论
  
# re: 不使用中间变量交换两个整型值的方法(不会溢出) 2012-05-31 09:01 lltg
一个是地址相同会出问题
另一个是一般这个应该写成
#define swap(x, y) ((x) ^= (y) ^= (x) ^= (y))  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理