给定一个系数,所有元素按照系数间隔进行插入排序
def shell_sort(a):
step = len(a) // 2
while step:
for i in range(step, len(a)):
while i-step >= 0:
if a[i] < a[i - step]:
a[i], a[i - step] = a[i - step], a[i]
i -= step
else:
break
step //= 2
return a