插入排序的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置后插入
实现
def insert_sort(alist):
# 从第二个位置,即下标为1的元素开始向前插入
for i in range(1,len(alist)):
# 从第i个元素开始向前比较,如果小于前一个元素,交换位置
for j in range(i,0,-1):
if alist[j] < alist[j-1]:
alist[j],alist[j-1] = alist[j-1],alist[j]