2-希尔排序的实现 -python

def insert_sort(li,gap):
    for i in range(gap,len(li)):
        tmp = li[i]
        j = i-gap
        while j>=0 and li[j]>tmp:
            li[j+gap] = li[j]
            j-=gap
        li[j+gap] = tmp

def shell_sort(li):
    d = len(li) //2
    while d>=1:
        insert_sort(li,d)
        d //=2

# 希尔排序的实现  是基于插入排序的基础上实现的

# 难点在于 gap d 参数的理解

 

posted @ 2021-11-07 17:38  fufu1  阅读(31)  评论(0)    收藏  举报