您的位置:首页 > 职场人生

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

2007-06-20 23:01 399 查看
两种方法:
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 = a + b ;
4 b = a - b ;
5 a = a - b ;
6 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: