def shell_sort(lists):
lengh = len(lists)
gap = lengh // 2
while gap > 0:
for i in range(gap, lengh):
while i >= gap and lists[i] < lists[i-gap]:
lists[i], lists[i-gap] = lists[i-gap], lists[i]
i -= gap
gap = gap // 2
lists= [54, 26, 93, 17, 77, 31, 44, 55, 20]
shell_sort(lists)
print(lists)
# [17, 20, 26, 31, 44, 54, 55, 77, 93]
时间复杂度:O(n2)
稳定性:不稳定