用python实现希尔排序(shell_sort)

Posted 做人要厚道2013

tags:

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

def shell_sort(a):
    n = len(a)
    gap = n >> 1  # gap是长度的一半
    while gap > 0:
        for i in range(gap, n):
            for j in range(i, 0, -gap):
                if a[j] < a[j - gap]:
                    a[j], a[j - gap] = a[j - gap], a[j]
                else:
                    break
        gap >>= 1  # gap每次减半


if __name__ == "__main__":
    a = [10, 4, 3, 1, 6, 20, 30, 1, 40, 30, 20]
    print(a)
    shell_sort(a)
    print(a)

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

Python-希尔排序算法

经典排序——希尔排序

希尔排序

排序算法实现(下)

希尔排序的python实现

使用python实现希尔计数基数排序