CareerCup 17中等難題 Q17.1 不用臨時變量,直接交換兩個數

題目:

編寫一個函數,不用臨時變量,直接交換兩個數。

分析:

這是位運算異或的典型應用,已經上了百度百科。

對兩個數進行三次異或就可以。

package cci.section17;

public class CCI_17_1 {
	
	public static void swap(int a, int b){
		a = a ^ b;
		b = a ^ b;
		a = a ^ b;
		//直接在這裏輸出,因爲Java參數是值傳遞
		System.out.println(a);
		System.out.println(b);
	}
	
	public static void main(String[] args){
		swap( 1, 2);
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章