下面介紹2個變數交換的3種方式。
見**:
/**
* */
package huati15;
/** * @author vayne
* */
public class swaptest
/*** @param va
*/private static void swap(value va)
/*** @param i
* @param j
*/private static void swap(int i, int j)
}class value
}
執行結果:
577
5
形參的改變是不能反作用於實參的。但是可以通過引用來改變成員變數的值。
有的時候在不能引入第三個變數的前提下去交換2個變數的值,但是會產生溢位問題。可以使用下面的方法:
/**
* */
package huati15;
/** * @author vayne
* */
public class swaptest2
/*** @param i
* @param j
*/private static void swap2(value value)
}
執行結果:
7
5
這是利用2個數和的方法,我們同理也可以使用2個數差的方法。不再做介紹。
位異或運算子有這樣的性質:(x^y^y)=x。因此可以利用這個性質去交換變數,在這個過程中也沒有使用第三方變數。
**如下:
/**
* */
package huati15;
/** * @author vayne
* */
public class swaptest3
/*** @param i
* @param j
*/private static void swap3(value value)
}
結果:
10
5
這方法較好。不會產生溢位問題。 拼搏到底之龜兔賽跑 Day 15 螞蟻三部曲
這是一套三本的書,我很少買 很少買外國書,更不說是乙個法國作者的,關於螞蟻的書。但是,與書的緣份是很奇妙的。當時在書店裡,不知道出於什麼原因,就買了第一本 螞蟻 然後自然是無可抑制的把後面兩本買回來了。這是三本什麼書呢?首先它是 描寫人與螞蟻的 在故事的一開始,兩個世界並無關聯,兩個故事自然也各自平...