第一种方法,对两个数进行交换,我们首先想到的就是创建临时变量,实现两变量的交换
例如:
int a=10,b=20,t;
t=a;
a=b;
b=t;
第二种,不创建临时变量,利用数学的思想对两个数进行交换。
如下:
int a=10,b=20;
a=a+b; //a=30
b=a-b; //b=10
a=a-b; //a=20
第三种,利用异或的思想(相同为0,不同为1)进行两个数的交换,从二进制的角度考虑。
10 二进制 ——> 1010
20 二进制——> 10100
如下:
int a=10,b=20;
a=a^b; //a=11110
b=a^b; //b=01010,则b为10
a=a^b; //a=10100,则a为20