排序算法
- 冒泡排序
- 插入排序
- 快速排序
- 选择排序
- 希尔排序
1冒泡排序
1.1 原理
每轮循环 多次两两比较选出一个最大的排在最后面
1.2 原码
1 | /** |
1.3 复杂度
* 时间复杂度
2直接插入排序
2.1 原理
直接插入排序是将未排序的数据插入至已排好序序列的合适位置。
具体流程如下:
1、首先比较数组的前两个数据,并排序;
2、比较第三个元素与前两个排好序的数据,并将第三个元素放入适当的位置;
3、比较第四个元素与前三个排好序的数据,并将第四个元素放入适当的位置;
……
4、直至把最后一个元素放入适当的位置。


2.2 代码
1 | public class insertSort { |
3快速排序
3.1原理简述
- 找一个基准数,将大于这个基准数的数放在右边,小于它的放在其左边

3.2源代码
1 | public class QuickSort { |
4选择排序
4.1原理简述:
首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
4.2源代码
1 | public class SelectSort { |
5希尔排序
5.1原理简述
希尔排序是把记录按下表的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。

5.2源代码
1 | public class ShellSort { |
图片来源于网络,如有侵权请联系我删除,谢谢。
参考:https://www.sohu.com/a/299382768_478315
https://www.cnblogs.com/guoyaohua/p/8600214.html
发布时间: 2020-04-22 2:40:10
更新时间: 2022-04-21 16:18:49
本文链接: https://wyatt.ink/posts/Airthmetic/61237.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!
