最近学了数据基础最基础的几种排序,总结一下
八大排序小结;
首先呢先说一下分类:
1.交换排序 (冒泡排序、快速排序)
2.插入排序(直接插入排序、二分(折半)插入排序、希尔排序)
3.选择排序(选择排序、堆排序)
4.归并排序
1、交换排序
1.1、冒泡排序
冒泡排序实际上是这几种排序里面最简单的排序,它的思路很简单,对于一组数字,每遍历一次数组,就会有一个元素到达最后将要排好序时的位置;
具体实现是这样的,每次都是从数组的第一个元素开始,每相邻的两个元素相比较,大的元素交换到后一个的位置,然后数组下标往后移动一个,继续跟下下一个元素比较,一次类推,这样遍历一遍下来后最后的一个元素绝对是当前数组中最大的一个元素;
示意图
自己画的示意图,冒泡循环的次数就是n次,就是数组元素的个数是多少,就排多少次;
冒泡代码 Java代码实现(以及优化之后的版本):
1.2、快速排序
2.插入排序(直接插入排序、折半插入排序、希尔排序)
具体内容点击下面链接:
插入排序心得总结以及Java实现代码
3.选择排序(选择排序、堆排序)
具体内容点击下面链接:
选择排序心得总结以及Java实现代码)
4.归并排序
具体内容点击下面链接:
归并排序总结心得以及Java代码实现