#!/usr/bin/env python
# -*- coding:utf8 -*-
def insert_sort(li):
n = len(li)
# j代表有序序列的个数
for j in range(1,n):
# 1 无序序列首个元素向前插入有序序列(反向遍历,前大后小则交换)
for i in range(j, 0, -1):
if li[i-1] > li[i]:
li[i-1], li[i] = li[i], li[i-1]
else:
# 若没有发生前大后小,则退出步骤1
break
# 至此 无序序列变成li[2:n]
# 2 对剩余无序序列重复步骤1
if __name__ == '__main__':
li = [9,6,3,5,8,2,5,4,1,7,5,9]
insert_sort(li)
print(li)
python 插入排序
最新推荐文章于 2023-07-13 09:38:23 发布