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 @ 2024-02-21 11:54  Junior_bond  阅读(21)  评论(0)    收藏  举报