算法目的:用位运算符中的异或实现两数交换,而不借助中间变量。
核心思想:a对b异或,得到的值再与a或者b异或,会得到b或者a的值。
算法:
定义两个变量a、b;
a = a ^ b; //得到一个a^b的中间数并赋值给a
b = a ^ b; //将已经是中间值的a再与b异或,这时候得到的值是a,将a的值赋给b
a = a ^ b; //将已经是a原来值的b再与是中间值的a异或,得到b原来的值,赋值给a,交换完毕。