原文:面试题:如何在不使用临时变量temp的情况下交换两个整数的值?

利用一个小技巧,一个整数a在异或另一个整数b两次以后所得的值还是整数a。 具体的过程我们可以自己找两个整数以二进制的形式自己在纸上画一下他们的异或过程。 异或的运算符号为 比如: 下面给出交换两个整数位置的代码,不需要临时变量temp。 public class Aa public static void main String args int a , b System.out.println ...

2017-10-27 09:19 2 1726 推荐指数:

查看详情

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
[转]不使用中间变量交换两个数值变量

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

Wed Oct 21 16:44:00 CST 2015 0 2968
不使用第三个变量交换两个变量

小结一: 给出两个变量: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