实现swap操作的方法有多种,此博客用于更新记录一些swap方法
通过临时存储值进行交换
int temp = a;
a = b;
b = temp;
通过位运算来进行交换,代码如下:
a^=b;
b^=a;
a^=b;
此处主要应用的知识是与异或有关的知识,补充如下:
a ^ a=0
a ^ 0=a
a ^ b=b ^ a
故对于上面的交换操作课解释为:
a=(a ^ b);
b=(a ^ b) ^ b=a ^ (b ^ b) = a ^ 0 = a;
a=(a ^ b) ^ a =(a ^ a) ^ b = 0 ^ b =b;