以下方法的根本原理就是: 借助第三个变量 c = a; a = b; b = c; 运算符-不借助第三变量: a = a+b; b = a-b; a = a-b; 为运算符-不借助第三个变量: (此种方法运用这种原理:一个数对另一个数位异或两次,该数不变)a = a^b; b ...
概要 本文主要描述,如何不使用中间值,将两个变量的值进行交换。 前三种只适用于number类型的数值交换,第四和第五种适合其他类型。 一 普通做法 普通的做法就是声明多一个临时变量tmp,进行数据交换过程中的缓存。这样的做法直观,易懂。但是,会增加内存的使用。 二 算术运算 通过算术运算过程中的技巧,可以巧妙地将两个值进行互换。但是,有个缺点就是变量数据溢出。因为JavaScript能存储数字的精 ...
2017-02-27 22:07 0 5104 推荐指数:
以下方法的根本原理就是: 借助第三个变量 c = a; a = b; b = c; 运算符-不借助第三变量: a = a+b; b = a-b; a = a-b; 为运算符-不借助第三个变量: (此种方法运用这种原理:一个数对另一个数位异或两次,该数不变)a = a^b; b ...
利用一个小技巧,一个整数a在异或另一个整数b两次以后所得的值还是整数a。 具体的过程我们可以自己找两个整数以二进制的形式自己在纸上画一下他们的异或过程。(异或的运算符号为"^") 比如: 下面给出交换两个整数位置的代码,不需要临时变量temp。 public class ...
在学习C语言的时候,涉及到两个变量值的交换,其中用到临时变量。 类似于: temp=a; a=b; b=temp; 这样的语句,如果在没有临时变量的情况下,该如何做呢? 网络上的人们给出了两种方法: 一、异或法 a=a^b; b=b^a; a=a^b ...
在语言学习和进行程序设计的时候,我们交换两个变量最常使用的方法是借助temp这个新的变量进行转换,代码如下: ----------------------------------------- <--标准算法--> ...
通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下: 上面的算法最大的缺点就是需要借助一个临时变量。那么不借助临时变量可以实现交换吗?答案是肯定的!这里我们可以用三种算法来实现:1)算术运算;2)指针地址操作;3)位运算;4)栈实现。 1) 算术运算 ...
//字符串版本 结合使用substr,strlen两个方法实现$a="a";$b="b";echo '交换前 $a:'.$a.',$b:'.$b.'<br />';$a.=$b;$b=substr($a,0,(strlen($a)-strlen($b)));$a=substr ...
#不使用第三个变量交换两个变量的值 a= 1 b= 2 a,b=b,a#python的直接交换 #另一种交换方法 a=a+b #a=3 b=2 b=a-b #a=3 b=1 a=a-b #a=2 b=1 print ...
第一类方法也是常用的方法,通过多次的数值计算来完成交换,到现在知道的有下面三种: (1)加减法。 a = a + b; b = a - b; a = a - b; 该方法可以交换整型和浮点型数值的变量,但在处理浮点型的时候有可能出现精度的损失,例如对 ...