对于给定的一组记录,初始时假设第一个记录自成一个有序序列,其余的记录为无序序列;接着从第二个记录开始,按照记录的大小依次将当前处理的记录插入到其之前的有序序列中,直到最后一个记录插入到有序序列中为止。
def insert_sort(lists):
lens = len(lists)
for i in range(lens):
key = lists[i]
j = i - 1
while j >= 0:
if lists[j] > key:
lists[j + 1] = lists[j]
lists[j] = key
j -= 1
return lists
if __name__ == "__main__":
lists = [3, 4, 2, 8, 9, 5, 1]
print("排列前顺序为:")
for i in lists:
print(i, end=" ")
print("\n")
print("排列后的顺序为:")
for i in (insert_sort(lists)):
print(i, end=" ")