如果说解决"交换两个变量的值"的问题也是算法的话,这大概是程序世界中最简单的算法了。即使是这样的算法,也有几种解决方法,下面来了解一下吧。
- 利用中间变量temp作为临时变量交换数值,这是变量交换最简单最通用的方法。
说这个算法通用,是指其对数据类型没有特殊要求,八种基本类型byte, short, int, long, float, double, char, boolean都可以。
- 可以用两个数求和然后相减的方式进行数据交换。
这个算法的弊端在于如果 x 和 y 的数值过大的话,超出 int 的值就会损失精度。
对于浮点型float和double,会因IEEE 754产生精度的问题。
对于boolean类型,加减号没定义所以也是不能用的。
- 利用位运算的方式进行数据的交换,其原理是:一个数异或同一个数两次,结果还是原来那个数。