黑马程序员技术交流社区
标题:
两个变量交换值 怎么高效实现
[打印本页]
作者:
开心的流泪者
时间:
2016-8-15 16:54
标题:
两个变量交换值 怎么高效实现
这是我的代码 你知道吗
class Demo1
{
public static void main(String[] args)
{
int a=2;
int b=3;
System.out.println("a="+a+";b="+b);
a=a^b;
b=a^b;
a=a^b;
System.out.println("a="+a+";b="+b);
}
}
请指教
作者:
哈韩浪子
时间:
2016-8-15 17:28
引入一个第三方的就可以啊
作者:
695212308
时间:
2016-8-15 17:35
A=(A+B)-(B=A)
作者:
cc478508847
时间:
2016-8-15 22:38
异或有点不直观
作者:
luliang
时间:
2016-8-15 23:26
class Demo1
{
public static void main(String[] args)
{
int a=2;
int b=3;
System.out.println("a="+a+";b="+b);
a=a+b;
b=a-b;
a=a-b;
System.out.println("a="+a+";b="+b);
}
}
作者:
luliang
时间:
2016-8-15 23:28
class Demo1
{
public static void main(String[] args)
{
int a=2;
int b=3;
System.out.println("a="+a+";b="+b);
int x ;
x = a;
a = b;
b = a;
System.out.println("a="+a+";b="+b);
}
}
作者:
accomplonely
时间:
2016-8-15 23:40
异或,不错的
作者:
itcoder
时间:
2016-8-16 21:33
顶顶顶顶顶顶顶顶顶顶顶
作者:
li--yong
时间:
2016-8-16 21:46
能想到异或,厉害,不过觉得好麻烦
作者:
double_x
时间:
2016-8-16 21:52
这是骨灰级程序员写的吧
作者:
18072727834
时间:
2016-8-16 21:53
定义第三方变量 例:int temp = a; int a =b, int b= temp 这样就完成了两个变量的交换
作者:
冯潜001
时间:
2016-8-16 22:27
异或不熟的话有点麻烦
作者:
lvyanxin
时间:
2016-8-16 23:00
变量很大时,位运算就比较慢了,算术运算也差不多。楼主可以去查一下地址算法(引入第三变量是最好的)
作者:
龙旋
时间:
2016-8-16 23:30
有三种方法可以实现互换,第三变量,异或,加法
作者:
bin931207
时间:
2016-8-16 23:47
变量交换值有两种方法看个人喜好吧,如果追求高效的话用异或,毕竟第三方变量用完就变垃圾了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2