python-实现希尔排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-实现希尔排序相关的知识,希望对你有一定的参考价值。

# encoding=utf-8


def shell_sort(alist):
    """希尔排序"""
    n = len(alist)
    gap = n // 2
    while gap >= 1:
        for j in range(gap, n):
            i = j
            while (i-gap) >= 0:
                if alist[i] < alist[i-gap]:
                    alist[i], alist[i-gap] = alist[i-gap], alist[i]
                    i -= gap
                else:
                    break
        gap //= 2

if __name__ == __main__:
    alist = [22, 1, 4, 553, 3, 212, 77]
    print(alist)
    shell_sort(alist)
    print(alist)

 

以上是关于python-实现希尔排序的主要内容,如果未能解决你的问题,请参考以下文章