数据结构中的排序算法有:插入类排序、交换类排序、选择排序、堆排序、归并排序、桶排序。而 插入类排序包括:直接插入排序、折半插入排序、希尔排序。
直接插入排序(稳定的排序)
原理步骤:
1)首先:取一个元素(一般为第一个元素)
2)其次,把这个元素当成是一个有序的序列(即:元素个位为一的有序序列)
3)然后,将剩下的元素依次插入到当前的这个有序序列的对应位置上
注:下列两种方法都是从小到大排序
方法一:建立哨兵(A[0]为哨兵,类似于中介变量,用于暂存元素值)
1 |
|
时间复杂度:O($n^2$)
空间复杂度:O(1) 注:哨兵A[0](常数个空间)
方法二:设定一个中间变量temp(主流)
1 |
|
时间复杂度:O($n^2$)
空间复杂度:O(1) 注:中间变量temp(常数个空间)`