标签:first 排序数组 package 一个 gif 依次 last 数字 算法
1、直接插入排序
直接插入排序的核心思想就是:将数组中的所有元素依次跟前面已经排好的元素相比较,如果选择的元素比已排序的元素小,则交换,直到全部元素都比较过。
因此,从上面的描述中我们可以发现,直接插入排序可以用两个循环完成:
第一层循环:遍历待比较的所有数组元素
第二层循环:将本轮选择的元素(selected)与已经排好序的元素(ordered)相比较。
如果:selected > ordered,那么将二者交换
2、希尔排序
希尔排序的算法思想:将待排序数组按照步长gap进行分组,然后将每组的元素利用直接插入排序的方法进行排序;每次将gap折半减小,循环上述操作;当gap=1时,利用直接插入,完成排序。
同样的:从上面的描述中我们可以发现:希尔排序的总体实现应该由三个循环完成:
第一层循环:将gap依次折半,对序列进行分组,直到gap=1
第二、三层循环:也即直接插入排序所需要的两次循环。具体描述见上
3、简单选择排序
简单选择排序的基本思想:比较+交换。
4、堆排序
首先将序列构建称为大顶堆,将堆顶第一个元素放到最后,继续构建大顶堆,直至堆中只剩一个元素
5、冒泡排序(常见)
6、快速排序
快速排序的基本思想:挖坑填数+分治法
7、归并排序
8、基数排序
标签:first 排序数组 package 一个 gif 依次 last 数字 算法
原文地址:https://www.cnblogs.com/xingxyx/p/11681925.html