java学习第五天

数组排序以及面向对象解释
数组排序
1.冒泡排序
int[] data = {45,22,73,16};
//从小到大
45 22 73 16
[0] [1] [2] [3]
[0] vs [1] 前大后小 需要交换

22	45	73	16	
[0]	[1]	[2]	[3]	
	[1]  vs [2]	前小后大	不需要交换

22	45	73	16	
[0]	[1]	[2]	[3]	
		[2]  vs [3]	前大后小	需要交换

22	45	16	73	
[0]	[1]	[2]	[3]	
			[3]  vs [4]	前大后小	需要交换
//到此已经找出了一个最大值,还需要2次才可以
//即需要找(数组长度-1)次。(外层循环)
//内层循环第一次比较4个元素,第二次需要比较3个元素以此类推

详细代码:

     for(int x = 0;x < data.length - 1;x++){
 	for(int y = 0;y < data.length - 1 - x;y++){  //减x是为了较少不必要的循环,可删去
		if(data[y] > data[y + 1]){
			data[y] = data[y] ^ data[y + 1];
				data[y + 1] = data[y] ^ data[y + 1];
				data[y] = data[y] ^ data[y + 1];
	    }
	}
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值