FFF

FB留言板

變數交換的三種方式

主要有三種方法:
最常見藉由第三方變數交換:byTemp(x , y)
數學式的藉由加減法:byAddSub(x , y)
效率最高的一種方法:byXor(x , y)



public class VariableExchange {

public static void main(String args[]) {
int x = 123;
int y = 321;
System.out.println("Before: x = " + x + " , " + "y = " + y);
byTemp(x , y);
byAddSub(x , y);
byXor(x , y);
}
public static void byTemp(int x , int y) {
int temp;
temp = x;
x = y;
y = temp;
System.out.println("byTemp(x,y): x = " + x + " , " + "y = " + y);
}
public static void byAddSub(int x , int y) {
x = x + y;
y = x - y;
x = x - y;
System.out.println("byAddSub(x,y): x = " + x + " , " + "y = " + y);
}
public static void byXor(int x , int y) {
x = x ^ y;
y = x ^ y;
x = x ^ y;
System.out.println("byXor(x,y): x = " + x + " , " + "y = " + y);
}
}

0 comments: