Python数据结构与算法05——插入排序 shell排序

插入排序 
复制代码
def insrt_sort(aimlist):
    n=len(aimlist)
    for cur in range(1,n):
        i=cur
        while i>0:
            if aimlist[i]<aimlist[i-1]:
                aimlist[i],aimlist[i-1]=aimlist[i-1],aimlist[i]
                i-=1
            else:
                break
    return aimlist
list=[4,6,2,7,1]
print(insrt_sort(list))
复制代码

希尔排序

复制代码
def shell_sort(aimlist):
    n=len(aimlist)
    gap=n//2
    while gap>=1:
        for cur in range(gap,n):
            i=cur
            while i>0:
                if aimlist[i]<aimlist[i-gap]:
                    aimlist[i],aimlist[i-gap]=aimlist[i-gap],aimlist[i]
                    i-=gap
                else:
                    break
        gap=gap//2
    return aimlist
list=[4,6,2,4,2,7,1]
print(shell_sort(list))
复制代码

 

posted @   Junior_bond  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示