0726一简单的面试题:在不使用第三变量的情况下交换两个变量的值
在学习程序语言和进行程序设计的时候,交换两个变量的值是经常要使用的
通常我们的做法:
int a=10;
int b=15;
int t;
t=a; a=b; b=t;
一般情况下碰到交换变量值的问题,都应采用此算法(称为标准算法)。
但是,在不使用第三方变量的情况下,如何实现呢?
有算术运算,有其他两种方式,这三种目前我都不明白,姑且说上这个算术法的流程吧。
简单来说,就是通过普通的+和-运算来实现。
int a=10;
int b=12;
a=b-a; //a=2;b=12
b=b-a; //a=2;b=10
a=b+a; //a=10;b=10
通过以上运算,a和b中的值就进行了交换。表面上看起来很简单,但是不容易想到。
它的原理是:把a、b看做数轴上的点,围绕两点间的距离来进行计算。(不懂,不懂,先应付面试)

浙公网安备 33010602011771号