码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-06-05 13:40:43      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

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

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;

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

标签:

原文地址:http://www.cnblogs.com/xiaofeixiang/p/4554340.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!