#不使用第三个变量交换两个变量的值 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 ...
在语言学习和进行程序设计的时候,我们交换两个变量最常使用的方法是借助temp这个新的变量进行转换,代码如下: lt 标准算法 gt int a , b int temp a a b b temp 这种方法易于理解,特别适合初学者了解计算机程序的特点,是赋值语句的经典应用,在实际开发中,此法简单明了,不会产生歧义,便于交流。 但是这个算法的弊端是需要借助第三方变量 临时变量,效率不是很高。 下面介绍 ...
2015-01-18 23:25 2 3211 推荐指数:
#不使用第三个变量交换两个变量的值 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 ...
以下方法的根本原理就是: 借助第三个变量 c = a; a = b; b = c; 运算符-不借助第三变量: a = a+b; b = a-b; a = a-b; 为运算符-不借助第三个变量: (此种方法运用这种原理:一个数对另一个数位异或两次,该数不变)a = a^b; b ...
哈喽,大家好,我是阿Q。前几天有个小伙伴去面试,被面试官的一个问题劝退了:请说出几种不使用第三方变量交换两个变量值的方法。 问题有点绕,好不容易缕清了面试官的问题,却发现答不上来。一时间尴尬无比,只能硬着头皮说不会。 遇到交换变量值的问题,通常我们的做法是:定义一个新的变量,借助它完成交换 ...
//字符串版本 结合使用substr,strlen两个方法实现$a="a";$b="b";echo '交换前 $a:'.$a.',$b:'.$b.'<br />';$a.=$b;$b=substr($a,0,(strlen($a)-strlen($b)));$a=substr ...
通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下: 上面的算法最大的缺点就是需要借助一个临时变量。那么不借助临时变量可以实现交换吗?答案是肯定的!这里我们可以用三种算法来实现:1)算术运算;2)指针地址操作;3)位运算;4)栈实现。 1) 算术运算 ...
小结一下: 给出两个变量: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 的值已经交换 ...
概要 本文主要描述,如何不使用中间值,将两个变量的值进行交换。 前三种只适用于number类型的数值交换,第四和第五种适合其他类型。 一、普通做法 普通的做法就是声明多一个临时变量tmp,进行数据交换过程中的缓存。这样的做法直观,易懂。但是,会增加内存的使用。 二、算术运算 ...
最近在看《c++从入门到精通》自学c++,里面有一道课后题是如何做到不适用第三个变量来交换两个数的值,以下是我在网上查找到的资料,记录下并作为笔记。 题目:a=10,b=15,将a / b的值互换。 通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换 ...