Java初学者--数组排序1

自学了java有一段时间了,中间断断续续的。

得强制下自己了,否则“懒”瘾上来,挡不住了。

借助这个平台:1是巩固所学的知。2是想认识更多的小伙伴帮助我。

 今天学了数组的排列,int[] a={85,75,65,58,42};

对里面的数进行由小到大排列,我学了两种方法:

1.使用Arrays.sort

import java.util.Arrays;

public class 数组排序 {

	public static void main(String[] args) {
		int[] a= {85,75,65,58,42};     //引入一个int型数组
	    Arrays.sort(a);                //引入 Arrays工具
        for(int b:a){                  //遍历数组a
        System.out.println(b)          //打印数组

    }
  }
}

这个方法真简单。

2.使用冒泡排序

冒泡排序感觉有些复杂,我的理解就是:像高矮个排队一样,任意两个人比较,高的向后排,一次类推。关键得理解需要排多少次。

比如 85 75 65 58 42

第一轮:先拿出85和45比较,变成75,85,65,58,42

               再拿出85和65比较,继续75,65,85,58,42

               再拿出85和58比较,继续75,65,58,85,42

               再拿出85和42比较,继续75,65,58,42,85

第二轮:先拿出75和65比较,变成65,75,58,42,85

               再拿出75和58比较,继续65,58,75,42,85

               再拿出75和42比较,继续65,58,42,75,85

第三轮:先拿出65和58比较,变成58,65,42,75,85

               再拿出65和42比较,继续58,42,65,75,85

第四轮:只拿出58和42比较,变成42,58,65,75,85

这明显是个循环,还是个嵌套循环。第一轮4次,第二轮3次,第三轮2次,第四轮1次,而我们有5个数,明眼人应该可以看出规律:轮+次数==数组长度

public class 数组排序 {

	public static void main(String[] args) {
int[] a= {85,75,65,58,45};              //引入一个int型数组
for(int i=0;i<a.length-1;i++) {         //“轮”循环。注意下我们总共是4轮,而从0开始,0.1.2.3共4轮,所以要小于a.length-1或者写成小于等于a.length-2应该也可以。
	for(int j=0;j<a.length-1-i;j++) {   //“次”循环。刚好可以用数组长度a.length减去“轮”,但是我们是从0开始,所以应该是小于a.length-1-i或者小于等于a.length-2-i也可以。
		if(a[j]>=a[j+1]) {              //比较两个数。
			int z=a[j];                 //换位时,引入一个变量。相当于排队时,先让高的出来,矮的填上,高的再进去。高的出来的位置就是这个变量。
			a[j]=a[j+1];                //矮的填到高的位置。
			a[j+1]=z;                   //高的再进去。
					
		
		
		}
	}
}
for(int b:a) {                          //遍历数组a
	System.out.println(b);              //打印
}
	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值