1.借助中間量交換
int x = 10;
int y = 20;
int temp = x;
x = y;
y = temp;
此種方法可以將中間量看成空杯,即把temp看成是空杯,
把x看成是裝有白酒的杯子,把y看成是裝有紅酒的杯子
int temp = x; 把白酒倒到空杯中,此時temp裝有白酒,x變成空杯
x = y; 把y中的紅酒倒到x空杯中,此時x裝有紅酒,y變成空杯
y = temp; 把白酒倒到y空杯中,此時x裝有紅酒,y裝有白酒,實現x和y的互換
2.數值相加減交換
int x = 10;
int y = 20;
x = x + y;
y = x - y;
x = x - y;
此種方法透過先求得兩數的和再進行減運算
x = x + y; 此時x的值為10+20=30;
y = x - y; 此時的x經過上面的運算變成30,所以y = 30 - 20 = 10;
x = x - y; 此時的y經上面的運算變成10,所以x = 30 - 10 = 20;實現兩個數的互換
3.位移運算交換
int x = 10;
int y = 20;
x = x ^ y;
y = x ^ y;
x = x ^ y;