插入排序:插入 希尔 选择排序:选择 堆排 交换排序:冒泡 快速 归并 基数
直接插入排序: 将未排好序的元素,插入到,待排序中。
但我们并不能确定待排元素中究竟哪一部分是有序的,
所以我们一开始只能认为第一个元素是有序的
依次将其后面的元素插入到这个有序序列中来,直到整个序列有序为止。

希尔排序:
用个增量:gap 。 先将待排序列进行预排序,使待排序列接近有序,然后再对该序列进行一次插入排序
选择排序:
即每次从待排序列中选出一个最小值,然后放在序列的起始位置,直到全部待排数据排完即可。
堆排序:
要学习堆排序,首先要学习堆的向下调整算法,因为要用堆排序,你首先得建堆,而建堆需要执行多次堆的向下调整算法。
堆的向下调整算法(使用前提):
若想将其调整为小堆,那么根结点的左右子树必须都为小堆。
若想将其调整为大堆,那么根结点的左右子树必须都为大堆。
那么堆建好后,如何进行堆排序呢?
冒泡排序:
主要是两两交换,产生一个最大的数。(代码是两个for循环和一个交换操作)
快速排序:
1.选一个基准值
2.定义一个L和一个R ,小于的放左边,大于的放右边
(需要注意的是:若选择最左边的数据作为key,则需要R先走;若选择最右边的数据作为key,则需要L先走)。)
3.重复2的操作。
归并排序:

基数排序:
本文详细介绍了几种常见的排序算法,包括直接插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序和归并排序等。每种算法都有其特点和适用场景,通过本文可以了解这些排序算法的基本原理。

被折叠的 条评论
为什么被折叠?



