原文:swap:不使用中间变量,交换两个a、b两个变量

写一个swap函数,要求不使用中间变量,交换a b两个变量的值 ,应该算是老生常谈了。但今天却碰到一点新问题。 今天阅读 程序员的自我修养 链接 装载与库 ,P 有一小段示例代码: 我觉得用一行代码来实现交换a与b的值,还是很简洁的。于是顺手发给了一个朋友。结果朋友说,这个函数的执行出现了问题。 预期的输出应为 a: , b: ,使用VC 编译,输出符合预期。但使用gcc . . Ubuntu ...

2012-04-16 23:40 9 560 推荐指数:

查看详情

[转]不使用中间变量交换两个数值变量的值

第一类方法也是常用的方法,通过多次的数值计算来完成交换,到现在知道的有下面三种: (1)加减法。 a = a + b; b = a - b; a = a - b; 该方法可以交换整型和浮点型数值的变量,但在处理浮点型的时候有可能出现精度的损失,例如对 ...

Wed Oct 21 16:44:00 CST 2015 0 2968
JavaScript两个变量交换值(不使用临时变量

概要 本文主要描述,如何不使用中间值,将两个变量的值进行交换。  前三种只适用于number类型的数值交换,第四和第五种适合其他类型。 一、普通做法 普通的做法就是声明多一个临时变量tmp,进行数据交换过程中的缓存。这样的做法直观,易懂。但是,会增加内存的使用。 二、算术运算 ...

Tue Feb 28 06:07:00 CST 2017 0 5104
JAVA交换两个变量的值-(不使用第三变量

以下方法的根本原理就是: 借助第三个变量 c = a; a = b; b = c; 运算符-不借助第三变量: a = a+b; b = a-b; a = a-b; 为运算符-不借助第三个变量: (此种方法运用这种原理:一个数对另一个数位异或次,该数不变)a = a^b; b ...

Wed Mar 28 00:10:00 CST 2018 1 3853
【Java】不使用第三方变量交换两个变量的值

在语言学习和进行程序设计的时候,我们交换两个变量最常使用的方法是借助temp这个新的变量进行转换,代码如下: ----------------------------------------- <--标准算法--> ...

Mon Jan 19 07:25:00 CST 2015 2 3211
交换两个变量的值,不使用第三个变量的四种法方法

通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下: 上面的算法最大的缺点就是需要借助一个临时变量。那么不借助临时变量可以实现交换吗?答案是肯定的!这里我们可以用三种算法来实现:1)算术运算;2)指针地址操作;3)位运算;4)栈实现。 1) 算术运算 ...

Wed Oct 15 22:49:00 CST 2014 0 2651
不使用第三个变量交换两个变量的值

小结一下: 给出两个变量:var a = 1, b = 2; 方法一: a = a + b; b = a - b; a = a - b; a, b 的值已经交换。 方法二: a = a ^ b; b = a ^ b; a = a ^ b; a, b 的值已经交换 ...

Wed Apr 25 16:53:00 CST 2012 1 3300
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM