1:有没有想起以前有一个经典的问题就是,如何不经过临时变量如何交换两个整数,那就是经典的;
a = a + b;
b = a - b; //此时 b = a
a = a - b ; //此时 a = b
其实我们还可以使用一个渐渐被我们遗忘的操作符,那就是异或^,补一点小知识,两个数异或,比如1101和1001,相同位为0,不同位为1,则结果为0100,所以任何数和0异或的结果都是其本身,一个数和自身异或的结果就是0.
于是上面的代码其实也可以这样来写
a = a ^ b;
b = a ^ b;
a = a ^ b; 哈哈,是不是感觉非常的棒。
有了这个思路的话,接下来实现无临时变量的交换就变得非常的简单了
注意符号。。。