#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Mar 27 19:41:48 2018
@author: vicky
"""
def shell_sort(list):
n = len(list)
gap = 5
#初始步长
while gap > 0:
for i in range(gap, n):
temp = list[i] #每个步长进行插入排序
j = i
while j>=gap and list[j-gap]>temp: #插入排序
list[j] = list[j - gap]
j -= gap
list[j] = temp
gap = round(gap / 2)# 得到新的步长
return list
list = [55,26,33,50,70,90,6,30,40,20]
print(shell_sort(list))