如果不引用第三个变量,就能直接交换两个变量的值?
2017-09-23 21:16
351 查看
方法一:
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
基于以上分析,可以知道许多开发技巧可以来源于数学理论,这种基于数学理论的应用在技术开发上可以弄出很多东西来,在实际的应用中也有着现实性的意义。虽然“不用第三个变量,直接交换两个变量的值”的方法不是我想到的,不过相信有了强大数学理论背景之后,在开发以及其他创造性工作中,只要注意培养这种应用意识,我们也能创造出这种“伎俩”来,只要善于思考,善于总结,创造性思维还是可以培养出来的。
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
基于以上分析,可以知道许多开发技巧可以来源于数学理论,这种基于数学理论的应用在技术开发上可以弄出很多东西来,在实际的应用中也有着现实性的意义。虽然“不用第三个变量,直接交换两个变量的值”的方法不是我想到的,不过相信有了强大数学理论背景之后,在开发以及其他创造性工作中,只要注意培养这种应用意识,我们也能创造出这种“伎俩”来,只要善于思考,善于总结,创造性思维还是可以培养出来的。
相关文章推荐
- 不用第三个变量,直接交换两个变量的值
- 不用第三个变量,直接交换两个变量的值
- 不用第三个变量就能交换两个变量值的五个方法
- 交换两个变量,而不引用第三个变量
- 不用第三个变量,直接交换两个变量的值
- 不用第三个变量就能交换两个变量值的五个方法
- 不用第三个变量就能交换两个变量值的五个方法
- 剑指Offer(Java版):不用第三个变量就能交换两个变量值
- 交换两个变量,而不引用第三个变量.
- 由“不用第三个变量,直接交换两个…
- 不用第三个变量,直接交换两个变量的值
- 不用第三个变量,直接交换两个变量的值
- 不用第三个变量就能交换两个变量值的五个方法
- 交换两个变量的值(不借助于第三个变量)
- 不借助第三个变量交换两个变量的值
- 不借助第三个变量实现两个变量的交换
- 交换两个变量的值,不使用第三个变量的四种法方法
- 交换两个变量以及不用第三个变量交换两个变量
- 交换两个变量的值不使用第三个变量(Java)
- 交换两个变量的值(不借助于第三个变量)