算法初级_insert_sort插入排序

#_*_ encoding: utf-8 _*_   @author: ty  hery   2019/9/16
import random
def insert_sort(li):
    for i in range(1,len(li)):
        tmp = li[i]
        j = i - 1
        print('开始的',i,tmp)
        while j >= 0 and li[j] > tmp:   # 如果比前面小
            print('while循环中', i, j,  tmp)
            li[j+1] = li[j]  #当前位置的数值=他前面的
            print('while中', i, j, li)
            j -= 1
        li[j+1] = tmp
        print('暂时结束的', i,j, li[j],tmp)
        print('排序之后的li',li)


li = [i for i in range(10)]
random.shuffle(li)
print('未排序的li',li)
insert_sort(li)


posted @ 2021-04-16 10:59  ty1539  阅读(40)  评论(0编辑  收藏  举报