def insert_sort(li):
n = len(li)
# 从第一个元素开始,认为已经被排序
for i in range(1, n):
# 后一个元素和前一个元素比较
# 如果比前一个小
if li[i] < li[i - 1]:
# 1 4 3 2
# 将这个数取出
tem = li[i] # 2
# 保存下标
index = i # 3
# 从后面向前面依次比较每个元素
for j in range(i - 1, -1, -1):
if li[j] > tem:
# 如果这个数字比
li[j + 1] = li[j]
# 交换后,更新下标
index = j
else:
break
# 最后一步:找到需要插入的元素
li[index] = tem
return li
if __name__ == '__main__':
print(insert_sort([11,4,21,5,2,12]))
python算法:插入排序
最新推荐文章于 2023-11-16 16:02:44 发布