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的值為x ^ y;
y = x ^ y; 此時的x經上面的運算變成
x ^ y,所以y = x ^ y ^ y = x;
x = x ^ y; 此時的y經上面的運算變成 x,所以x = x ^ y ^ x = y; 實現兩個數的互換
3、數值相加減交換
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; 實現兩個數的互換
java 交換兩個變數的值
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...
交換兩個變數的值
交換兩個變數的值 交換兩個變數的值是我們學習c語言常見的問題,通常我們採取的方式是定義中間變數,通過中間變數交換這兩個變數值。1 直接在主函式裡完成 int a 2,b 3 int t t a a b b t 2 通過定義swap 完成交換,其中可以通過引用 位址傳遞完成變數值交換 引用 inclu...
交換兩個變數的值
有兩個整數a和b,下面將用四種方法把他們的值進行交換 方法1 借助臨時變數tmp include intmain 如果要求不能建立其他變數,還有下面的方法 方法2 巧妙進行數值運算 include intmain 方法3 二進位制異或運算 include intmain 整數10的二進位制數表示為 ...