希尔排序(python 实现)

拈花ヽ惹草 提交于 2019-12-12 05:40:37
"""
希尔排序
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
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!