算法的入门丨最基础的排序算法,选择、冒泡、插入

大家在学习java的过程中一定都会接触到排序算法,而且排序算法是编程学习的过程中最先接触的算法。今天给大家带来算法的一次回忆,排序算法入门的三种基础算法——选择排序、冒牌排序和插入排序。

选择排序

选择排序,弟中弟,最没用的算法,时间复杂度非常之高,所以说这个算法是最没用的算法。但是这个算法是给编程学习者带来思路的,用来做算法入门的垫脚石是非常不错的。

排序算法的思路:过滤整个数组,将最小的数换到第一位,重复该过程,直到遍历数组,结束程序。

首先,写一个循环遍历数组并将数组中元素打印出来的方法。命名为print( ); 方法。


数组需要经过循环遍历,并且将每次遍历的最小的数(minPos)与第一位进行交换。


进行元素交换的方法,也可以抽出来封装为一个单独的方法(swap)。

运行结果如下:


冒泡排序

冒泡排序是一种比较简单的排序算法,它循环走过需要排序的元素,依次比较相邻的两个元素,如果顺序错误就交换,直至没有元素交换,完成排序。

数组循环遍历打印的方法,以及元素交换的方法如下:


将排序算法中的循环比较抽象为方法


结果如下


插入排序

插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。

具体思路如下:


排序方法设计:


程序运行结果如下:


小结:

选择排序、冒泡排序、插入排序,这三种比较简单的排序方法只是Java算法中的冰山一角而已,对于各种其他的排序算法,比如:快速排序、希尔排序、计数排序、基数排序等等。如果将来你要进阶大数据,还有各种回归算法、长尾效应等着你去理解,简直不要太爽的。

希望本文可以给你带来简单的帮助。



你可能感兴趣的:(算法的入门丨最基础的排序算法,选择、冒泡、插入)