您的位置:首页 > 其它

不使用第三个变量,交换两个数

2010-08-30 18:43 309 查看
一个题目,记录一下

int a=A;

int b=B;

//异或最快。

a^=b; //a=A^B

b^=a; //a=B^(A^B)=A

a^=b; //a=A^B^A=B

-----------------------------------------------

a+=b; //a=A+B

b=a-b; //b=A+B-B=A

a-=b; //a=A+B-A=B

-----------------------------------------------

a-=b; //a=A-B

b=a+b;//b=A-B+B=A

a=b-a;//a=A-(A-B)=B

------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: