def insert_sort(alist):
n = len(alist)
# 从右边的无序序列中取出多少个元素执行这样的过程
for j in range(1, n):
# j = [1, 2, 3, ..., n-1]
# i 代表内层循环的起始值
i = j
# 执行从右边的无序序列中取出的第一个元素,既i位置的元素,然后将其插入到前面的正确位置
while i > 0:
if alist[i] < alist[i-1]:
alist[i], alist[i-1] = alist[i-1], alist[i]
i -= 1
else:
break
最优时间复杂度 O(n)
最差时间复杂度O(n^2)
稳定性:稳定