def shell_sort(ary):
n = len(ary)
gap = round(n/2)
while gap > 0 :
for i in range(gap,n):
temp = ary[i]
j = i
while ( j >= gap and ary[j-gap] > temp ):
ary[j] = ary[j-gap]
j = j - gap
ary[j] = temp
gap = round(gap/2)
return ary
原文:https://www.cnblogs.com/yangjunh/p/sort-shell.html