不用临时变量交换两个数据
2013-05-03 10:28
323 查看
inline void Swap(int &a, int &b) { if(a != b) { a ^= b; b ^= a; a ^= b; } }
分析:b = b ^ a = b ^ (a ^ b) = a ^ b ^ b = a ^ 0 = a
a = a ^ b = (a ^ b) ^ a = a ^ a ^ b = 0 ^ b = b
相关文章推荐
- 不用临时变量 实现两个变量之间的数据交换
- 不用临时变量,交换两个变量的值
- C++ 不用临时变量交换两个变量的值——函数对象
- 不用临时变量交换两个变量的值
- 交换两个值,而不用临时变量
- 怎样不用临时变量而交换两个值?
- 不用临时变量交换两个变量的值
- 关于数据交换,不用临时变量的小算法 2014-7-25
- 使用位运算交换两个值,不用临时变量
- 不用临时变量交换两个变量的值
- 不用临时变量交换两个单精度浮点数的值
- 不用临时变量交换两个变量的值——函数对象
- 不用临时变量,交换两个数。
- 交换两个元素的值,不用临时变量
- 常见面试题——不用临时变量交换数据
- 从“交换两个变量而不用临时变量”谈起
- 交换两个变量而不用临时变量
- 交换两个值,不用临时变量(C位运算)
- 从“交换两个变量而不用临时变量”谈起
- 怎样不用临时变量而交换两个变量的值?——看一中文编程语言中的“完美”一例