不借助第3个变量,实现两个整型变量的交换
2009-08-20 23:36
323 查看
通常交换两个整型变量,经常会如下做:
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;
}
相关文章推荐
- 为什么异或运算可以实现两个整数的交换,而无需借助第3个临时变量
- 为什么异或运算可以实现两个整数的交换,而无需借助第3个临时变量
- 基于JAVA的不借助第三个变量实现交换两个变量的值的小代码
- Java实现两个变量的互换(不借助第3个变量)
- 不借助第三个参数实现两个变量的值互相交换
- 交换两个整数类型的变量(不借助第3个变量)
- Java两个变量的互换(不借助第3个变量)具体实现方法
- 不通过第三个变量实现两个整型变量的交换
- 不借助第三个变量实现两个变量交换的思考
- 不借助第三个变量实现两个变量的交换
- Java基础应用之运算符(实现两个变量的互换(借助第3个变量))
- 写一方法来实现两个变量的交换。在主调函数中定义两个整型变量,并初始化,调用交换方法,实现这两个变量的交换。(使用ref参数)
- Java两个变量的互换(不借助第3个变量)具体实现方法
- 不借助第三个变量实现两个变量之间的值传递和交换
- 在不借助第三方变量情况下实现两个变量的交换(借助于异或运算)
- Java基础应用之运算符(实现两个变量的互换(不借助第3个变量))
- 不借助第三个变量实现两个变量交换的思考
- 不借助第三个变量实现两个变量交换的思考
- 变量交换 如果要把两个整型变量a、b的值交换,一般要采用一个中间变量做过渡, 但也可以在不借助任何其它变量的情况下完成。
- JAVA不借助第三个变量实现两个变量交换的思考