插入排序
类似于选择排序,都是从前往后选择一个数据进行对比,选择排序是在后面未排序的数据中选择最大或者最小值,插入排序是依次选择数据,对前面的已经排序数据进行对比,选择位插入。
它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。
举例:
[9 4 8 0 4]
1,第一个数据为9,默认位置第一
2,第二个4,对比9,比9小,排序到9前面
此时排序为[49804]
3,然后是8,对比9,往前插入,对比4,位置不变
此时[48904]
4,然后是0,对比9,向前插入,然后对比8,继续向前插入,然后对比前面的4,依然插入,
此时排序[04894]
5,最后一项4,对比9,插入,对比8插入,对比4,不变,结束
此时[04489]
def ins_sort(m)