〔面试题〕无需额外变量交换两个变量的方法

两种方法:
1.使用异或
1 void swap(int a,int b) 
2 
3 a=a^b; 
4 b=b^a; //b^a相当于 b^a^b 也就是 b^a^b的值就是a了, 下边相同 
5 a=a^b; 
6 
也有人写成了一句,就是读起来麻烦些:)
a^=b^=a^=b;  

2.使用加减
1 void swap(int a,int b)
2 {
3 = a + b ;
4 = a - b ;
5 = a - b ;
6 }

posted @ 2007-06-20 23:01  中土  阅读(516)  评论(0编辑  收藏  举报
©2005-2008 Suprasoft Inc., All right reserved.