美文网首页
如何不用临时变量实现两变量的值交换

如何不用临时变量实现两变量的值交换

作者: 陈码工 | 来源:发表于2018-04-22 09:57 被阅读0次

异或版本

a = a ^ b; 
b = a ^ b; 
a = a ^ b;

实验:


python2.7异或实验

加减法版本

a =  b - a;  
b = b - a; 
a = a + b;
Python实验

或者这么写也可以,

a = a - b; 
b = b + a; 
a = b - a;
Python实验

乘除法版本

a = a • b;
b = a / b; (等于原先的a)
a = a / b; (等于原先的b)
Python实验

参考资料

如何理解「异或」的含义?
C语言中位运算符异或“∧”的作用

相关文章

  • 如何不用临时变量实现两变量的值交换

    异或版本 实验: 加减法版本 或者这么写也可以, 乘除法版本 参考资料 如何理解「异或」的含义?C语言中位运算符异...

  • C 语言实例12 - 交换两个数的值

    使用临时变量交换两个数的值 不使用临时变量交换两个数的值

  • Tricky 算法——面试问题

    Question 1, 如何在不引入临时变量的情况下,交换两个变量的值。 For example:a=1, b=2...

  • 不用临时变量交换两个数的值

    假设有a=1、b=2,用js交换两个数的值,使a=2、b=1。很简单对吧?定义一个临时变量,交换一下a、b的值就好...

  • JavaScript实现两个变量值交换

    一个经典的问题,“两个变量之间值的交换”。 1、 引入临时变量进行数据交换 引入临时变量,最最基本的方法,看着很l...

  • C/C++ basis 02

    1.写出程序打印结果 2.编码实现变量某位清0或置1 (位逻辑操作) 3.不用临时变量对a,b的值交换 4. s...

  • Objective-c中的位运算符总结

    最近看到“不使用临时变量交换两个变量的值”这个题目我们最容易想到的做法就是使用相加相减来实现 但是,突然看到有人使...

  • 8_3交换练习

    请编写一个算法,不用任何额外变量交换两个整数的值。 给定一个数组num,其中包含两个值,请不用任何额外变量交换这两...

  • NO.43 JAVA中交换两个变量

    现定义两个变量,需要交换它们的值: int a = 10;int b = 15; 1)定义临时变量(咬尾绕圈): ...

  • 不用临时变量交换两个数

    原理分析:假定a = 5, b = 3,他们的二进制表示如下 第一步异或 a = a ^ b生成a和b的合集 第二...

网友评论

      本文标题:如何不用临时变量实现两变量的值交换

      本文链接:https://www.haomeiwen.com/subject/vauqlftx.html