java数组排序

文章详细介绍了直接插入排序、选择排序和冒泡排序这三种排序算法的工作原理。直接插入排序是稳定的,而选择排序则不保证稳定性。冒泡排序在相邻元素间进行比较和交换,因此是稳定的排序方法。每种排序方法的特点和适用场景都有所不同。
摘要由CSDN通过智能技术生成

三种排序方法

直接插入排序:一般插入排序,比较是从有序序列的最后一个元素开始,如果比它大则直接插入在其后面,否则一直往前比。如果找到一个和插入元素相等的,那么就插入到这个相等元素的后面。插入排序是稳定的。
选择排序:在一趟选择,如果当前元素比一个元素小,而该小的元素又出现在一个和当前元素相等的元素后面,那么交换后稳定性就被破坏了。光说可能有点模糊,来看个小实例:858410,第一遍扫描,第1个元素8会和4交换,那么原序列中2个8的相对前后顺序和原序列不一致了,所以选择排序不稳定。
冒泡排序:由前面的内容可知,冒泡排序是相邻的两个元素比较,交换也发生在这两个元素之间,如果两个元素相等,不用交换。所以冒泡排序稳定。

直接插入排序

直接插入排序比较麻烦,他是将第一个元素作为起始数组,不管这个元素是大还是小。然后用第二个元素与这个元素进行比较,如果比起始元素大,则放在起始元素之后,反之放在之前,组成一个有序集合,然后用其他元素跟有序集合中的元素比较,插入到正确的位置,以此类推达到有序。

选择排序

选择排序的原理和冒泡排序差不多,不过冒泡排序是相邻两个元素比较,以此类推,而选择排序则是使用第一个元素和后面的其他元素挨个比较,将大的放到后面,然后使用第二个元素与后面的元素比较,大的放后面,以此类推最终达到有序。需要注意的是:每个元素只需要与其后的元素进行比较即可,因为前面的元素已将是由小到大排序的了。

冒泡排序

冒泡排序十分简单,数组的第一个元素和第二个元素交换位置,根据大小将较大者放在后面,这个过程称为第一次排序,以此类推。当进行到最后一个元素时,最大的元素已经放到最后面,这个过程称为一趟,第二趟将第二大的元素放在倒数第二的位置上,以此类推知直到所有元素都排完。而且每一趟运行完下一趟的次数就要减一。
代码实现

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值