希尔排序(python 实现)

"""
希尔排序
gap = 子序列之间的间距

"""


def shell_sort(sort_list):
    n = len(sort_list)

    # 初始排序的gap
    gap = n // 2
    while gap > 0:
        for i in range(gap, n):
            j = i
            # 根据gap来进行比较,比较完后,下标减一,继续比较,直到比较到序列头。
            while j >= gap and sort_list[j-gap] > sort_list[j]:
                sort_list[j - gap], sort_list[j] = sort_list[j], sort_list[j-gap]
                j -= gap

        gap = gap // 2
posted @ 2019-12-12 05:05  L1m1t  阅读(156)  评论(0编辑  收藏  举报