Java演算法 交換兩個變數的值,3種方法

2021-07-16 08:28:59 字數 1017 閱讀 2600

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的二進位制數表示為 ...