标签:数组使用 数组 1.3 col 使用 while color 全局 插入排序
希尔排序首先选择增量,对原列表分组,然后将同组数组使用直接插入法排序,最后增量为1,实现全局排序
1 ‘‘‘ 2 希尔排序 3 空间复杂度O(1) 4 时间复杂度最坏(pow(n,2)) 5 时间复杂度一般情况(pow(n,1.3)) 6 ‘‘‘ 7 def Xier_Px(arr): 8 size=len(arr) 9 dk=int(size/2) 10 while dk>=1: 11 for i in range(dk,size): 12 if arr[i]<arr[i-dk]: 13 temp=arr[i] 14 j=i-dk 15 while j>=0 and arr[j]>temp: 16 arr[j+dk]=arr[j] 17 j -=dk 18 arr[j+dk]=temp 19 dk =int(dk/2) 20 print(arr) 21 22 Xier_Px([88,78,65,156,239,43]) 23 24 输出: 25 [43, 65, 78, 88, 156, 239]
标签:数组使用 数组 1.3 col 使用 while color 全局 插入排序
原文地址:https://www.cnblogs.com/japyc180717/p/9419910.html