广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Python技术 > 正文

Python希尔排序_惠州计算机Python软件开发

作者:黄君发布时间:2021-01-13分类:Python技术浏览:870


导读:希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录"基本有序"时,再对全体记录进行依次直接插入排序。

希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。

希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录"基本有序"时,再对全体记录进行依次直接插入排序。

实例

def shellSort(arr):


       n = len(arr)

       gap = int(n/2)


       while gap > 0:


              for i in range(gap,n):


                    temp = arr[i]

                    j = i

                   while  j >= gap and arr[j-gap] >temp:

                          arr[j] = arr[j-gap]

                           j -= gap

                   arr[j] = temp

              gap = int(gap/2)

 

arr = [ 12, 34, 54, 2, 3]







n = len(arr) 

print ("排序前:") 

for i in range(n):

    print(arr[i]),   


shellSort(arr)  


print ("\n排序后:") 

for i in range(n):

     print(arr[i]),



执行以上代码输出结果为:

排序前:
12
34
54
2
3

排序后:
2
3
12
34
54

点击咨询直接了解更多相关资料,我在惠州北大青鸟新方舟等你。

343.jpg

标签:惠州计算机软件培训惠州计算件软件开发惠州计算机软件基础惠州计算机Python软件开发惠州Python培训


Python技术排行
标签列表
网站分类
文章归档
最近发表