'''
希尔排序,将相聚某个'增量'的记录组成一个子序列,这样才能能保证在子序列内分别进行直接插入排序后得到
的结果是基本有序而不是局部有序
'''
def ShellSort(list):
increment = len(list)//(len(list)//2)+1 # 增量的选取有待进一步研究
# 增量序列的最后一个增量必须是1
while increment>=1:
for i in range(increment,len(list)):
if list[i-increment]>list[i]:
list[i-increment],list[i] = list[i],list[i-increment]
increment-=1
return list
python--希尔排序
最新推荐文章于 2024-04-02 16:22:15 发布