#!/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))
本文介绍了一种高效的排序算法——希尔排序,并通过Python代码详细展示了其实现过程。该算法通过逐步缩小增量对列表进行部分排序,最终达到完全有序的状态。

被折叠的 条评论
为什么被折叠?



