不凭借第3个变量,实现两个整型变量的交换
不借助第3个变量,实现两个整型变量的交换
public void swap(int a, int b) {
int t = a;// 使用第三个变量t
a = b;
b = t;
}
方法一:借助代数运算
public void swap(int a, int b) {
a = a + b;
b = a - b; // 这个时候a=a+b,b=a
a = a - b; // a = b
}
方法二:借助^异或运算
public void swap(int a, int b) {
a = a^b;
b = a^b;
a = a^b;
}
public void swap(int a, int b) {
int t = a;// 使用第三个变量t
a = b;
b = t;
}
方法一:借助代数运算
public void swap(int a, int b) {
a = a + b;
b = a - b; // 这个时候a=a+b,b=a
a = a - b; // a = b
}
方法二:借助^异或运算
public void swap(int a, int b) {
a = a^b;
b = a^b;
a = a^b;
}