希尔排序

希尔排序:

插入排序改进,先进行分组,对每组使用直接插入排序算法,随着增量的减少,元数原来越多,直到增量为1,分成一组,结束。

def shell_sort(li):

n =len(li)

gap = n//2

    while gap >0:

for iin range(gap,n):

j= i

while j>=gapand li[j-gap] > li[j]:

li[j-gap],li[j] = li[j],li[j-gap]

j -= gap

gap = gap/2

alist = [54,26,93,17,77,31,44,55,20]

shell_sort(alist)

print(alist)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。