不含中间变量的两数交换逻辑
2013-01-07 01:37
239 查看
交换a、b两数
用和加减 / 用积乘除
a = a + b;
b = a - b;
a = a - b;
需要考虑溢出状况,值域有范围
用异或
a ^= b;
b ^= a;
a ^= b;
位运算无需考虑
用和加减 / 用积乘除
a = a + b;
b = a - b;
a = a - b;
需要考虑溢出状况,值域有范围
用异或
a ^= b;
b ^= a;
a ^= b;
位运算无需考虑
相关文章推荐
- 用位运算符中的异或实现两数交换而不借助中间变量
- 无需中间变量的两数交换算法
- 两数交换_不用临时变量
- 如何将a,b的值进行交换,并且不使用任何中间变量
- Java--交换两个变量的值的三种方法:借助中间量交换,数值相加减交换,位移运算交换
- 不利用中间量交换两个变量
- 交换两数,不使用第三变量,且考虑溢出问题
- 无需中间变量交换两个变量的值
- 不适用中间变量交换两个数值型变量的值
- 关于 ^ 异或 及 无中间变量进行交换
- java(引入一个中间变量,不引入中间变量)交换两个变量的值
- 异或 两数交换 (不用临时变量)
- [Code]不使用第三个中间变量,两变量怎样交换?
- 交换变量,找出三个中的中间那位
- 交换两数,不使用第三变量,且考虑溢出问题
- JS杂技之无中间变量的值交换方式
- 使用位运算实现判断一个数是否是2的n次方,实现不需要中间变量进行两个变量值的交换
- 不用其他变量,交换两数
- 通过异或来实现2个数的交换(不需要中间变量)
- C++ - 两数交换, 不引入第三个变量