算法-不使用中间变量交换两个数
这个应该是烂大街的一个题目了,闲来无事,随便写写,常用的有三种方法,加减法,乘除法,异或法:
1.加减法,这个是最容易的想到的,不过需要注意的,如果在处理浮点型数字的时候可能会精度丢失:
a=a+b; b=a-b; a=a-b;
2.乘除法,和加减法类似,也会有精度丢失,不过出现的一个问题是除数不能为0:
a=a*b; b=a/b; a=a/b;
3.异或法,这个需要记住的一点就是变量a异或b的异或值异或b等于a:
a=a^b; b=a^b; a=a^b;
作者:FlyElephant
出处:http://www.cnblogs.com/xiaofeixiang
说明:博客经个人辛苦努力所得,如有转载会特别申明,博客不求技惊四座,但求与有缘人分享个人学习知识,生活学习提高之用,博客所有权归本人和博客园所有,如有转载请在显著位置给出博文链接和作者姓名,否则本人将付诸法律。
出处:http://www.cnblogs.com/xiaofeixiang
说明:博客经个人辛苦努力所得,如有转载会特别申明,博客不求技惊四座,但求与有缘人分享个人学习知识,生活学习提高之用,博客所有权归本人和博客园所有,如有转载请在显著位置给出博文链接和作者姓名,否则本人将付诸法律。