java排序

本文详细介绍了两种基本的排序算法——冒泡排序和选择排序。冒泡排序通过相邻元素的比较和交换将最大值逐渐推向数组末尾;选择排序则通过每次选取最小元素并放到正确位置来逐步完成排序。文中提供了清晰的步骤解析和代码示例,帮助理解这两种排序算法的工作原理。
摘要由CSDN通过智能技术生成

两个典型排序:①冒泡排序。②选择排序

1.冒泡排序:根据名字可知排序的底层逻辑,就像水泡一样。数据按照固定的规则进行排列。

对数组进行排序,相邻两个元素,大的往后面排,以此类推。

给定一个数组可以来进行分析int[]arr = {5,3,9,6}

分析:①每次执行的是相邻的两个元素,那么第一轮走的次数为数组的长度减一(因为一次使用的是两个元素)

②执行第一步后,就可以将数组中的最大值放到最后了,那么数组要执行第一步的次数就为,数组长度减一(因为最后一次排完后就剩下一个,就一定是最小值了,且只有一个就不用排了)

代码演示:

其中的内循环中:arr.length-1-j,这里之所以再减去就是因为每次要排序的元素越来越少。

注:不加上这个也可以,就是后面排序好的再进行判断多一次,就执行效果差些。不影响效果。

2.选择排序:

某个元素和后面的每个元素比较,小的往前放

图解:

说明:

第一轮第0个元素和后面的每个比较

第二轮第1个元素和后面的每个比较

第三轮第2个元素和后面的每个比较

 

 

 代码理解:外循环跑了一次,内循环跑定义好的次数,就如上图所展示的一样一个元素跟除了自己之外的所有元素进行比较。如第一轮外循环第一个值为0时,内循环需要从1开始到数组的索引最大值结束。(若内循环从0开始就是跟自己比没意义)就实现排序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值