不使用第三个变量,交换两个数
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
------------------------------------------------
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
------------------------------------------------
相关文章推荐
- 如何不使用第三个变量来交换两个数的值
- 不使用第三个变量交换两个数的值
- 不使用第三个变量,实现两个数交换
- 交换两个数的值(不使用第三个变量)
- 如何不使用第三个变量来交换两个数的值
- [Code]不使用第三个中间变量,两变量怎样交换?
- 不使用第三个变量交换两个变量的值
- php面试题不使用第三个变量交换两个变量的值
- 交换两个变量的值,不使用第三个变量的四种方法
- php不用第三个变量,交换两个数的值
- 不使用第三个变量,交换A、B变量值
- 交换两个变量的值不使用第三个变量
- php不用第三个变量,交换两个数的值
- 交换两个数不使用第三方变量
- 交换两个变量的值,不使用第三个变量的方法及实现
- 不使用第三个变量交换两个数字
- 【趣味数学】不使用第三个变量交换两变量的值(推理过程)
- 交换两个数不使用第三方变量
- 不使用临时变量 交换两个数的值
- 使用传递变量引用的方式完成两个数的交换