黑马程序员技术交流社区
标题:
关于三种交换值方法的比较
[打印本页]
作者:
cuin
时间:
2015-6-25 13:12
标题:
关于三种交换值方法的比较
今天学习了三种交换值的方法,简要代码如下:
//定义变量a,b和临时变量temp
int a=1,b=2,temp=0;
1.借助临时变量
temp=a;
a=b;
b=temp;
2.加减法
a=b-a;
b=b-a; //b-(b-a)=b-b+a=a
a=b+a; //a+b-a=b
3.按位异或
a=a^b;
b=a^b; //a^b^b=a
a=a^b; //a^b^a=a^a^b=b
复制代码
原来交换值的时候一直用的是第一种方法,学了几天之后学了两种新方法,细细想来方法甚妙。
但是有个问题是,这三种方法执行效率如何,有高低之分吗
作者:
mazhichao
时间:
2015-6-25 13:24
第三种方法不错,可以防止溢出
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2