def insert_sort(alist):
"""插入排序"""
n = len(alist)
# 从第二个位置开始, 从右边的无序序列中取元素
for j in range(1, n): # 1, 2, 3, ..., n-1
# 去右边无序序列中的第一个元素, 将其插入到左面有序序列的正确位置中
i = j
while i > 0:
if alist[i] < alist[i - 1]:
alist[i], alist[i - 1] = alist[i - 1], alist[i]
i -= 1
else:
break
if __name__ == '__main__':
alist = [54, 93, 77, 31, 44, 55, 226]
insert_sort(alist)
print(alist)
原文:https://www.cnblogs.com/KX-Lau/p/12509694.html