1、算法思想
把待排序的元素插入已经排序的序列中。取第一个元素为有序序列。从剩下的元素中依次取值和相邻的元素作比较,找到合适的位置并插入。直至所有待排序的元素为有序序列。
2、代码实现
1 #coding:utf-8 2 def inert_sort(lst): 3 for i in range(1,len(lst)): 4 if lst[i-1]>lst[i]: 5 tmp=lst[i] 6 seq=i 7 while seq>0 and lst[seq-1]>tmp: 8 lst[seq]=lst[seq-1] 9 seq-=1 10 lst[seq]=tmp 11 return lst 12 13 if __name__ == "__main__": 14 a=inert_sort([1,5,7,6,2,0]) 15 print(a)
输出:
[0, 1, 2, 5, 6, 7]