package com.hz.weep;

/**
 * 交换值演示,演示了空间换时间,和时间换空间的简单例子.
 * 
 * @author weep
 * 
 */
public class SwapAB {
	public static void main(String[] args) {
		// 两种值交换的方式,用中间变量空间复杂度高于不用中间变量,但时间复杂度要低于不用中间变量.

		// 常规写两个值的交换
		int a = 100;
		int b = 200;
		System.out.println("初始值 a=100 b=200");
		// 中间变量
		int c;

		// 复制给中间变量,临时存
		c = a;
		// 把b的值赋给a.
		a = b;
		// 把c中存的a的初始值赋给,至此完成了常规的值交换
		b = c;
		System.out.println("a = " + a + ", b = " + b);
		// 不用中间变量的写法
		a = a + b;
		b = a - b;
		a = a - b;

		System.out.println("a = " + a + ", b = " + b);

		// 第二种不用中间变量,换运算,效率比加法高点
		a = a ^ b;
		b = a ^ b;
		a = a ^ b;

		System.out.println("a = " + a + ", b = " + b);

	}
}
最近下载更多
RinkaOvO  LV2 2020年4月24日
北城不夏  LV8 2018年7月11日
欧阳小攀  LV12 2017年12月15日
wjhaabbccc  LV3 2015年9月16日
最代码官方  LV168 2012年9月3日
最近浏览更多
明晓默  LV1 2021年3月9日
2196316269  LV10 2021年2月24日
小小123123  LV1 2020年11月17日
灵依ziNing  LV7 2020年6月2日
RinkaOvO  LV2 2020年4月24日
oooorangeeee 2019年10月25日
暂无贡献等级
夏洛特VS夏洛克  LV6 2019年8月26日
151293806  LV1 2019年8月13日
qqzwz123  LV3 2019年6月24日
zhangjian01  LV7 2019年5月2日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友