defshell_sort(slist):
gap =len(slist)while gap >1:
gap = gap //2for i inrange(gap,len(slist)):for j inrange(i % gap, i, gap):if slist[i]< slist[j]:
slist[i], slist[j]= slist[j], slist[i]return slist
slist = shell_sort([4,5,6,7,3,2,6,9,8])print slist
python中几种常用的排序算法1.插入排序插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序;首先将第一个作为已经排好序的,然后每次从后的取出插入到前面并排序;时间复杂度:O(n²)空间复杂度:O(1)稳定性:稳定def insert_sort(ilist): for i in range(len(ilist)): for j in range(i): if ilist