希尔排序函数,希尔排序方法

  希尔排序函数,希尔排序方法

  1.根据相邻元素排序。如果直接插入排序的步长为1,那么Hill排序就是先按照K的步长插入排序。

  2.然后根据步骤K对步骤M进行排序,其中K大于M,最后对步骤1进行排序。

  实例

  defshell_sort(data_list):

  思想:分而治之的策略

  用于循环

  长度=len(数据列表)

  空间=长度//2

  whilespace0:

  for range(space,length) : #默认情况下,第一个位置的元素是排序区间,所以下标从1开始。

  Tmp=data_list[i]#要插入的数据

  指数=i

  for range(I-space,-1,-space) : #从排序后的区间中查找插入位置

  iftmpdata_list[j]:

  data _ list[j space]=data _ list[j]#元素向后移动,为插入位置腾出空间

  Index=j#最后一个j是插入位置。

  else:

  破裂

  Data_list[index]=tmp#插入操作

  打印(数据列表)

  space=space//2

  returndata_list

  defshell_sort2(data_list):

  思想:分而治之的策略

  使用while循环

  长度=len(数据列表)

  空间=长度//2

  whilespace0:

  I=空间

  Whileilength:#默认情况下,第一个位置的元素是排序的区间,所以下标从1开始。

  Tmp=data_list[i]#要插入的数据

  j=i

  while j=spaceanddata _ list[j-space]tmp 3360 #从排序后的区间中查找插入位置。

  data _ list[j]=data _ list[j-space]#元素向后移动,为插入位置腾出空间

  j-=空间

  Data_list[j]=tmp#插入操作

  打印(数据列表)

  i=1

  space=space//2

  Returndata_list以上是python希尔排序的用法。希望对你有帮助。更多python学习方向:Python基础课程

  本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: