變量值互換
大家好,這是我在blogjava上第一篇隨筆。主要是試試看。互換變量值大概編程中最簡(jiǎn)單的一件事了,大多數(shù)會(huì)用
int x = 1, y = 2;
int z;
z = x;
x = y;
y = z;
int z;
z = x;
x = y;
y = z;
這需要借助一個(gè)附加變量z。能不能不使用附加變量呢?
用異或運(yùn)算可以實(shí)現(xiàn)這個(gè)所謂的in place互換。
x ^= y;
y ^= x;
x ^= y;
y ^= x;
x ^= y;
這樣就可以交換兩個(gè)整數(shù)變量的值了。不信,可以試試。原理也很簡(jiǎn)單,因?yàn)閥 = (x ^ y) ^ x.
轉(zhuǎn)載請(qǐng)保留http://www.aygfsteel.com/xilaile/archive/2007/02/15/99983.html
posted on 2007-02-15 12:37 gr8vyguy 閱讀(1825) 評(píng)論(2) 編輯 收藏 所屬分類: 計(jì)算機(jī)科學(xué)基礎(chǔ)