原文:交换两个变量的值,不使用第三个变量的四种法方法

通常我们的做法是 尤其是在学习阶段 :定义一个新的变量,借助它完成交换。代码如下: 上面的算法最大的缺点就是需要借助一个临时变量。那么不借助临时变量可以实现交换吗 答案是肯定的 这里我们可以用三种算法来实现: 算术运算 指针地址操作 位运算 栈实现。 算术运算 指针地址操作因为对地址的操作实际上进行的是整数运算,比如:两个地址相减得到一个整数,表示两个变量在内存中的储存位置隔了多少个字节 地址和一 ...

2014-10-15 14:49 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
如何不使用第三个变量交换两个数的

  最近在看《c++从入门到精通》自学c++,里面有一道课后题是如何做到不适用第三个变量交换两个数的,以下是我在网上查找到的资料,记录下并作为笔记。 题目:a=10,b=15,将a / b的互换。 通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换 ...

Thu May 14 03:05:00 CST 2015 1 14643
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
交换两个变量_不引入第三个变量

package test; public class Test { public static void main(String[] args) { int a, b; a = 10; b = 12; System.out.println(a + " " + b); /* * 借助第三变量 ...

Thu Jul 28 04:27:00 CST 2016 0 3170
java两个变量交换不借助第三个变量所想

最近在看到java的位运算,这块到目前为止也没有用到过,因为不知道怎么用所以总感觉学不会。当然看到这里就想到之前看到过几次的java实现两个变量交换,不通过中间变量的问题。又忘记了原理,各种搜索之后还是总结一下记下来吧。 首先只有两个变量,相互交换。因此每个不能丢掉,且暂存变量两个 ...

Wed Jun 03 07:45:00 CST 2015 0 6545
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM