li = [3,2,4,1,5,7,9,6,8]
def sort(li):
for i in range(1,len(li)):
temp=li[i] #因为是插入排序,手中要现有一个数字,然后在抽取一个数字与手中的数字比较,
j=i-1 #因为首先抽取的是第二个数字,所以要先于第一个数字比较,也就是下标减一
while j>=0 and temp<li[j]:#当j>=0时说明前面还有数字,所以继续比较,当手里的数字小于与之比较的数值时,还要继续比较,因为可能前面的数字有比手里的数字更小的数字
li[j+1]=li[j] #找到符合条件的之后就把比手中数字大的数字向后移动一位
j-=1#下标向前移动
li[j+1]=temp#当j<0或者temp>=li[j]时,退出前面的循环,把手中的数字放入原位置不动
print(li)
print(li)
sort(li)
Python插入排序
最新推荐文章于 2021-05-18 09:46:34 发布