首页 > 编程语言 > 详细

排序之插入排序

时间:2019-08-29 01:37:48      阅读:72      评论:0      收藏:0      [点我收藏+]
# 插入排序
时间复杂度:O(n**2)
代码:
# 插入排序
def insert_sort(li):
    for i in range(len(li)):  # 摸到的牌的下标
        tmp = li[i]  # 记录摸到的牌
        j = i - 1  # 手里的牌的下标
        while j >= 0 and tmp < li[j]:
            li[j + 1] = li[j]
            j -= 1
        li[j + 1] = tmp
        print(li)

思路:

while j >= 0 and tmp < li[j]:
            li[j + 1] = li[j]
            j -= 1
在找摸到的牌要插入的位置,每当摸到的牌比手里的牌小,就会找到摸到的牌要插入的位置,找到后将摸到的牌插入比摸到牌小的牌的前一个位置(j+1)

排序之插入排序

原文:https://www.cnblogs.com/xiangxiaolin/p/11427148.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!