欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

希尔排序

程序员文章站 2022-06-04 17:53:42
...

概念

gap每次分半,直到最小值1
循环,下标igap到n
对比下标i与i-gap的值

不稳定,最坏O(2)

示意图

希尔排序

代码实现

lst = [2,7,4,0,5]
def xier_sort(lst):
    n = len(lst)
    gap = n//2
    while gap >= 1:
        for i in range(gap,n):
            while i>=gap:
                if lst[i] < lst[i-gap]:
                    lst[i],lst[i-gap] = lst[i-gap],lst[i]
                i -= gap
        gap //= 2
xier_sort(lst)
print(lst)
相关标签: 希尔排序