插入排序介绍
插入排序(insertion sort)是一种比较直观的排序算法,工作原理为通过构建有序序列,对于未排序序列,在已排序的序列中从后向前进行扫描,找到相应的位置并插入。
li = [54,26,93,17,77,31,44,55,20]
def insertion_sort(li):
n = len(li)
for i in range(1,n):
for j in range(i,0,-1):
if li[j] < li[j-1]:
li[j],li[j-1] = li[j-1],li[j]
insertion_sort(li)
print(li) # 此时输出的为[17,20,26,31,44,54,55,77,97]
插入排序的时间复杂度为O(n^2)