# 希尔排序(基于插入排序)
def insert_sort_gap(li, gap):
for i in range(gap, len(li)):
temp = li[i]
j = i-gap
while j >= 0 and li[j] > temp:
li[j+gap] = li[j]
j -= gap
li[j+gap] = temp
def shell_sort(li):
gap = len(li)//2
while gap >= 1:
insert_sort_gap(li, gap)
gap //= 2
li = [1, 5, 4, 2, 1, 9, 5, 4]
shell_sort(li)
print(li)
Python希尔排序
最新推荐文章于 2024-09-09 23:28:21 发布
本文介绍了希尔排序,一种基于插入排序的改进算法,通过设置gap值进行分组,逐步缩小步长,提高排序效率。举例说明了shell_sort函数实现和对给定数组[1,5,4,2,1,9,5,4]的排序过程。
摘要由CSDN通过智能技术生成