插⼊排序是⼀种简单直观的排序算法。
它的⼯作原理是:
1.先通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插⼊。
2.插⼊排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插⼊空间。
def insert_sort(list1):
# 从第二个位置,即下标为1的元素开始向前插入
for j in range(1, len(list1)):
# 从第i个元素开始向前比较,如果小于前一个元素,交换位置
for i in range(j, 0, -1):
if list1[i] < list1[i-1]:
list1[i], list1[i-1] = list1[i-1], list1[i]
else:
break
print(list1)
li = [23, 94, 2, 21, 56, 6]
insert_sort(li)