在之前的文章中博主已经详细讲解了几种排序方法的理论过程,那么这里我就直接放上Python实现算法的过程
示例代码如下:
#encoding:utf-8
def shell_sort(lists):
#希尔排序
count = len(lists)
step = 2
group = count/step
while group > 0:
for i in range(0,group):
j = i + group
while j < count:
k = j - group
key = lists[j]
while k>=0:
if lists[k] > key:
lists[k + group] = lists[k]
lists[k] = key
k = k -group
j = j + group
group = group / step
return lists
if __name__ == "__main__":
lists = [3,4,2,8,9,5,1]
print("排序前序列为:"),
for i in lists:
print(i),
print("\n排序后结果为:"),
for i in shell_sort(lists):
print(i),