— 八大排序算法
插入排序:直接插入排序、希尔排序
选择排序:简单选择排序、堆排序
交换排序:冒泡排序、快速排序
归并排序
基数排序
1.1 直接插入排序
基本思想:将一个记录插入到已排序好的有序表中,从而得到一个新记录数增1的有序表。具体来说就是,先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。
算法步骤:
1. 将序列的第一个元素视为有序子序列①,第二个元素作为待排序元素和有序子序列①进行比较插入,得到有序子序列②;
2. 序列的第三个元素作为待排序元素,和有序子序列②进行比较插入,得到有序子序列③;
......
3. 序列的最后一个元素作为待排序元素,和前面的有序子序列进行比较插入,得到整个有序序列。
具体过程:
排序趟数控制 序列(49 38 65 27 76 40 )
i=1 38 49 ## ## ## ## (38为待排序元素,和有序子序列49进行比较插入后)
i=2 38 49 65 ## ## ##
i=3 27 38 49 65 ## ##
i=4 27 38 49 65 76 ##