美文网首页
经典的三种基础排序算法Java实现

经典的三种基础排序算法Java实现

作者: 风也醉 | 来源:发表于2019-06-15 16:26 被阅读0次

选择排序(Selection sort)、插入排序(Insertion sort)与气泡排序(Bubble sort)这三个排序方式是初学排序所必须知道的三个基本排序方式,虽然它们由于速度不快而不实用,平均与最快的时间复杂度都是O(n^2),然而它们排序的方式确是值得观察与探讨的。下面我们依次来看下这三种排序方式的实现。

一、选择排序   

选择排序的主旨是:将要排线的对象分为两个部分,一个是已排序的,一个是未排序的,从后端未排序的选择一个最小值,放入前端已排序部分的最后一个,如下图

选择排序

具体java代码实现为:

选择排序方法 交换方法

main方法如下:

main和打印方法

结果显示如下图,可以看到已经排序成功了:

选择排序后结果

二、插入排序

插入排序就像是玩朴克一样,我们将牌分作两堆,每次从后面一堆的牌抽出最前端的牌,然后插入前面一堆牌的适当位置,例如:

插入排序过程

具体方法如下,在main方法中运行,同样调用injectionSort() 即可得到结果

插入排序方法

三、冒泡排序

顾名思义,就是排序时,最大的元素会如同气泡一样移至右端,其利用比较相邻元素的方法,将大的元素交换至右端,所以大的元素会不断的往右移动,直到适当的位置为止。基本的气泡排序法可以利用旗标的方式稍微减少一些比较的时间,当寻访完阵列后都没有发生任何的交换动作,表示排序已经完成,而无需再进行之后的回圈比较与交换动作,例如:

冒泡排序过程

当进行至i与i+1时没有交换的动作,表示接下来的i+2至n已经排序完毕,这增加了冒泡排序的效率。 具体方法如下图:

冒泡排序方法 结果

到此结束!如果您喜欢的话就点个赞吧!

相关文章

  • 一文搞定十大经典排序算法(Java实现)

    本文总结十大经典排序算法及变形,并提供Java实现。参考文章:十大经典排序算法总结(Java语言实现)快速排序算法...

  • 数据结构&算法(一)

    一、Java实现快速排序算法 二、Java实现折半插入排序算法 三、Java实现冒泡排序算法

  • 经典的三种基础排序算法Java实现

    选择排序(Selection sort)、插入排序(Insertion sort)与气泡排序(Bubble sor...

  • 归并排序&快速排序

    归并排序 利用归并的思想实现排序方法,该算法采用经典的分治策略,分而治之。 代码实现 基础设置 归并排序 —— 非...

  • 十大经典排序算法(java实现)

    前言 本文我们将以java代码实现十大经典排序算法,包括冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序...

  • 1.1-交换排序-冒泡

    参考链接 交换排序:冒泡排序(Bubble Sort) 白话经典算法系列之一 冒泡排序的三种实现 基本思想 以从小...

  • java 实现排序算法之「插入排序」

    java 实现排序算法系列 这是 Java 实现排序算法的第三篇文章——插入排序算法。插入排序可以说成是「一类」简...

  • 经典排序算法在python上的实现

    排序算法是算法中的基础,也是面试重点。现利用Python语言实现了经典的排序算法并且做出一定的总结。也是帮助自己记...

  • 排序

    八大排序算法 一、归并排序 递归及非递归的JAVA实现 二、快速排序 快排算法JAVA实现 三、堆排序 堆排序堆排...

  • 算法-排序算法总结

    排序类型总结 1 排序算法基础实现 2 排序算法应用 2.1 基础排序 2.2 计数排序应用 2.3 快排应用 2...

网友评论

      本文标题:经典的三种基础排序算法Java实现

      本文链接:https://www.haomeiwen.com/subject/ltmbfctx.html