算法-目录
参考链接: Python 希尔排序
选择增量 gap=length/2,缩小增量以 gap = gap/2 的方式
初始增量第一趟 gap = length/2 = 4
第二趟,增量缩小为 2
第三趟,增量缩小为 1,得到最终排序结果
class Solution:
def shellSort(self,arr):
l=len(arr)
gap=int(l/2)
for i in range(l):
key=arr[i]
j=i-1
while j>=0 and arr[j]>key:
arr[j+1]=arr[j]
j-=1
arr[j+1]=key
return arr
s=Solution()
ans=list(map(int,input("请输入一行数字:").strip().split()))
print('输出为:'," ".join(map(str,s.shellSort(ans))))