不引入第三变量,交换两个变量的值
来源:互联网 发布:新三板 人工智能 编辑:程序博客网 时间:2024/05/06 07:08
题目:已知两变量a和b,设计一个算法,交换a与b的值。
1、最传统,最广泛,最著名的方法,增加一个变量,代码如下:
int a, b;
int c;
c=a;
a=b;
b=c;
2、不增加第三个变量,交换a和b的值,代码如下:
int a, b;
a = a+b;
b = a-b;
a=a-b;
分析,设a和b的原始值为a,b
执行代码 变量a 变量b
int a, b a b
a=a+b a+b b
b=a-b a+b a+b-b=a
a=a-b a+b-(b)=a+b-a=b a
第一种方法:以空间换时间。
第二种方法:以时间换空间。
不引入第三变量,交换两个变量的值 (设 a=a1,b=b1)
目 标 操 作 操作后状态
a=a1^b1 a=a^b a=a1^b1,b=b1
b=a1^b1^b1 b=a^b a=a1^b1,b=a1
a=b1^a1^a1 a=a^b a=b1,b=a1
- 不引入第三变量,交换两个变量的值
- 不引入第三变量,交换两个变量的值
- 不引入第三变量,交换两个数的值
- 不引入第三个变量交换两个整数的值
- 不引入第三个变量交换两个数的值
- PHP中如何不引入第三个变量的条件下实现:交换两个变量的值?
- 不用引入第三变量交换两个变量的值
- 两个变量交换数值,不引入第三变量
- 交换两个数的值,且不引入第三个变量的实现
- java(引入一个中间变量,不引入中间变量)交换两个变量的值
- C 不引入第三变量交换两个数的值(异或运算符^)
- 不引进第三变量交换两个变量的值
- 不使用第三方变量交换两个变量的值
- 交换两个变量的值不使用第三个变量
- 交换两个变量的值,不使用第三个变量
- 不使用第三方变量交换两个变量的值
- 不使用第三方变量交换两个变量的值
- 不使用第三个变量,交换两个变量的值!
- javascript 如何正确使用getElementById,getElementsByName(), and getElementsByTagName()
- 网页自动跳转,执行action
- Android 使用SD卡
- XML操作类
- myeclipse code templates 设置详解
- 不引入第三变量,交换两个变量的值
- Oracle创建表空间
- java 编程 之【评分系统】可以计算平均成绩和最烂评委
- 让你定制的Launcher成为系统中唯一的Launcher
- Debian/Ubuntu包安装工具APT的使用
- meego-ux-daemon
- informix中用import和export备份和恢复数据的方法
- 时间单位换算及档案
- GCC编译优化选项