【LeetCode】插入排序(python版)
发布日期:2021-05-08 05:47:51 浏览次数:19 分类:精选文章

本文共 1275 字,大约阅读时间需要 4 分钟。

插入排序相当于将列表数据分成左右两边,就相当于扑克牌发牌时,左拿第一张牌,右手摸牌,将右手的牌当作目标牌,与左手中的牌进行对比,使得左手中的牌从左至由,由小到大排序。即将最小的牌放在最左边

在这里插入图片描述

import randomimport timeitdef randomList(n):    iList = []    for i in range(n):        iList.append(random.randrange(0,1000))    return iListdef bubblesort(iList):    if (len(iList)<=1):        return iList    for i in range(1,len(iList)):        for j in range(0,len(iList)-i):            if(iList[j]>iList[j+1]):                iList[j],iList[j+1] = iList[j+1],iList[j]    return iListdef selectsort(iList):    if(len(iList)<=1):        return iList    for i in range(0,len(iList)-1):        if iList[i] != min(iList[i:]):            minIndex = iList.index(min(iList[i:]))            iList[i],iList[minIndex] = iList[minIndex],iList[i]    return iListdef insetionsort(iList):    if(len(iList)<=1):        return iList    for right in range(1,len(iList)):        target = iList[right]        for left in range(0,right):            if target<=iList[left]:                iList[left+1:right+1] = iList[left:right]                iList[left] = target;                break    return iListif __name__ == "__main__":    iList = randomList(20)    print(iList)    print(insetionsort(iList))    #print(timeit.timeit("selectsort(iList)","from _main_ import selectsort,iList",number=100))
上一篇:【LeetCode】快速排序(python版)
下一篇:【LeetCode】选择排序(python版)

发表评论

最新留言

关注你微信了!
[***.104.42.241]2025年04月07日 05时34分58秒