普通方法
我发现了一种神奇的快速交换两个数的方法。
交换a,b的值
Normal Code
t=a;
a=b;
b=t;
特殊方法
我们可以使用位运算
原理 a xor b xor a=b(易证)
Special Code
a=a^b;
b=a^b; //b=a^b^b=a
a=a^b; //a=a^b^a=b
我发现了一种神奇的快速交换两个数的方法。
交换a,b的值
t=a;
a=b;
b=t;
我们可以使用位运算
原理 a xor b xor a=b(易证)
a=a^b;
b=a^b; //b=a^b^b=a
a=a^b; //a=a^b^a=b