算法-不使用中间变量交换两个数

这个应该是烂大街的一个题目了,闲来无事,随便写写,常用的有三种方法,加减法,乘除法,异或法:

1.加减法,这个是最容易的想到的,不过需要注意的,如果在处理浮点型数字的时候可能会精度丢失:

1
2
3
a=a+b;
b=a-b;
a=a-b;

2.乘除法,和加减法类似,也会有精度丢失,不过出现的一个问题是除数不能为0:

1
2
3
a=a*b;
b=a/b;
a=a/b;

3.异或法,这个需要记住的一点就是变量a异或b的异或值异或b等于a:

1
2
3
a=a^b;
b=a^b;
a=a^b;
本文转自Fly_Elephant博客园博客,原文链接:http://www.cnblogs.com/xiaofeixiang/p/4554340.html,如需转载请自行联系原作者
上一篇:一分钟了解阿里云产品:安全网络五大热点技术问题分析


下一篇:将人工智能融入多媒体 助力视频产业加速——阿里云视频AI全能力解读