#小规模基本有序数组,直接插入排序效率高
#希尔排序,设置增量,一般互为质数,呈递减序列,最后一个是1
def shellSort(lists):
n = len(lists)
gap = int(n/2)
while gap > 0:
for i in range(gap,n):
temp = lists[i]
j = i
while j >= gap and lists[j-gap] >temp:
lists[j] = lists[j-gap]
j -= gap
lists[j] = temp
gap = int(gap/2)
return lists
lists = [ 2,1,6,5,9,6,4,3]
print ("排序前:")
for i in lists:
print(i,end =" ")
print ("\n排序后:")
for i in shellSort(lists):
print(i,end =" "),
希尔排序
最新推荐文章于 2023-11-28 16:53:17 发布