算法系列——交换两个变量

本文总结了在Java中交换两个变量的四种常见方法:中间变量法、算数运算法、位运算和栈实现。详细介绍了每种方法的实现思路,适合算法复习和代码实践。
摘要由CSDN通过智能技术生成

今天复习算法的时候遇到的问题,要求给出交换两个变量的算法。想想以前也遇到过这类问题,为了作为备份,防止再次遗忘,所以做下总结。

在Java中大致有如下四种方法可以用于变量的交换。

1.中间变量法

方法大致结构如下:

int a,b,temp;

a=10,b=20;

temp=a;

b=temp;

a=b;

当然这种方法不仅限于整形变量,任意类型都是可以的,这是日常开发中经常用的交换变量值的方法,也是推荐使用的方法,在没有其他特定要求的情况下,这种方法最易于理解。

2.算数运算法

int a,b;
a=10;b=20;
a=b-a; //a=10;b=20
b=b-a; //a=10;b=10
a=b+a; //a=20;b=10
它的原理是:把a、b看做数轴上的点,围绕两点间的距离来进行计算。
具体过程:第一句“a=b-a”求出ab两点的距离,并且将其保存在a中;第二句“b=b-a”求出a到原点的距离(b到原点的距离与ab两点距离之差),并且将其保存在b中;第三句“a=b+a”求出b到原点的距离(a到原点距离与ab两点距离之和),并且将其保存在a中。完成交换。
此算法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值