如果不引用第三个变量,就能直接交换两个变量的值?
来源:互联网 发布:yy协议软件手机版 编辑:程序博客网 时间:2024/05/19 21:17
方法一:
var a=1;
var b=2;
a=a+b;
b=a-b;
a=a-b;
输出a,b可以发现两值已经交换
方法二:
//异或操作方法
var a=1;
var b=2;
a=a^b;
b=a^b;
a=a^b;
输出a,b可以发现两值已经交换
交换流程如下:
a=1 0000 0001
b=2 0000 0010
a=a^b 0000 0011
b=a^b 0000 0001
a=a^b 0000 0010
b=2 0000 0010
a=a^b 0000 0011
b=a^b 0000 0001
a=a^b 0000 0010
基于以上分析,可以知道许多开发技巧可以来源于数学理论,这种基于数学理论的应用在技术开发上可以弄出很多东西来,在实际的应用中也有着现实性的意义。虽然“不用第三个变量,直接交换两个变量的值”的方法不是我想到的,不过相信有了强大数学理论背景之后,在开发以及其他创造性工作中,只要注意培养这种应用意识,我们也能创造出这种“伎俩”来,只要善于思考,善于总结,创造性思维还是可以培养出来的。
阅读全文
1 0
- 如果不引用第三个变量,就能直接交换两个变量的值?
- 交换两个数的值,不引用第三个变量
- 不用第三个变量,直接交换两个变量的值
- 不用第三个变量,直接交换两个变量的值
- 不用第三个变量,直接交换两个变量的值
- 不用第三个变量,直接交换两个变量的值
- 不用第三个变量,直接交换两个变量的值
- 交换两个变量的值不使用第三个变量
- 交换两个变量的值,不使用第三个变量
- 不使用第三个变量,交换两个变量的值!
- 交换两个变量的值,不使用第三个变量
- 交换两个变量的值,不使用第三个变量
- 交换两个变量的值,不使用第三个变量
- 不使用第三个变量 交换两个变量的值
- 交换两个变量的值,不使用第三个变量
- 交换两个变量的值,不使用第三个变量
- 交换两个变量的值 不使用第三个变量
- 交换两个变量的值,不使用第三个变量
- 多自由度平衡稳定性
- Hibernate外键一对一单向和双向关联的理解
- ubuntu server 16.04.2 编译使用mod_shout
- HTTPS 原理及安全加密方案
- 268. Missing Number
- 如果不引用第三个变量,就能直接交换两个变量的值?
- C语言 java 获取一维数组长度
- 验证码
- 编译安装bind
- MOOC清华《VC++面向对象与可视化程序设计》第1章:空白窗口的创建(Win32项目)
- [洛谷]P1080 国王游戏
- hdu 3371 Connect the cities (prim)
- 数据仓库
- C/C++内存区域分析