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

python数据结构之希尔排序

程序员文章站 2022-07-02 13:40:51
def shell_sort(alist): n=len(alist) gap= int(n / 2) #步长 while gap>0: for i in range(gap,n): j=i while j>=gap and alist[j-gap] > alist[j]: alist[j-g... ......

def shell_sort(alist):
    n=len(alist)
    gap= int(n / 2) #步长
    while gap>0:
        for i in range(gap,n):
            j=i
            while j>=gap and alist[j-gap] > alist[j]:
                alist[j-gap],alist[j]=alist[j],alist[j-gap] #交换值
                j-=gap
        gap=int(gap/2)  #新的步长
alist=[11,33,44,55,66,9,72,86,93,10,1,0,2]
shell_sort(alist)
print(alist)