思想:希尔排序是插入排序的升级版
#
def shell_srot(alist):
n = len(alist)
step = n // 4
i = 1
while step >= 1:
for j in range(step,n):
while j > 0:
if alist[j] > alist[j-step]:
alist[j],alist[j-step] = alist[j-step],alist[j]
j -= step
else:
break
step //= 2
return alist
if __name__ == '__main__':
li = [12,42,43,12,43,12,1,4,6,32,1,0,325,52,23,132,7534,324,72,16]
shell_sort(li)