插入排序

和自甴很熟 提交于 2019-12-01 12:17:38

 

 

def insert_sort(li):
    for i in range(1,len(li)):
        # i表示摸到的牌的位置
        tmp = li[i]
        j = i - 1   # j是当前手里用来比较的牌
        while True:
            if j >= 0 and li[j] > tmp:  # 如果j合法并且这张牌比摸到的牌大
                li[j+1] = li[j]         # 往后看
                j -= 1                  #往前看
            else:                       #如果手里用来比较的牌比摸到的牌小或者或者j==-1
                li[j+1] = tmp           # 放牌
                break

 

def insert_sort_2(li):
    for i in range(1,len(li)):
        # i表示摸到的牌的位置
        tmp = li[i]
        j = i - 1   # j是当前手里用来比较的牌
        while j >= 0 and li[j] > tmp:   # 如果j合法并且这张牌比摸到的牌大
                li[j+1] = li[j]         # 往后看
                j -= 1                  # 往前看
        li[j+1] = tmp                   # 放牌

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!