Python程序实现希尔排序

Python程序实现希尔排序

当需要实现希尔排序时,定义一个函数,将一个列表和列表的长度作为参数传入。该列表按照特定数量的元素排序,其中数量是最大的值。只有当元素数量最小时,排序停止。

对列表中的所有子列表进行排序。

一个列表可以用于存储异质值(即任何数据类型的数据,如整数、浮点数、字符串等)。

下面是一个演示示例:

示例

def shell_sort(my_list, list_len):
   interval = list_len // 2
   while interval > 0:
      for i in range(interval, list_len):
         temp = my_list[i]
         j = i
         while j >= interval and my_list[j - interval] > temp:
            my_list[j] = my_list[j - interval]
            j -= interval
         my_list[j] = temp
      interval //= 2

my_list = [ 45, 31, 62, 12, 89, 5, 9, 8]
list_len = len(my_list)
print ("排序前的列表:")
print(my_list)
shell_sort(my_list, list_len)
print ("进行希尔排序后的列表:")
print(my_list)

输出

排序前的列表:
[45, 31, 62, 12, 89, 5, 9, 8]

进行希尔排序后的列表:
[5, 8, 9, 12, 31, 45, 62, 89]

说明

  • 定义了一个名为’shell_sort’的方法,该方法使用列表和列表的长度作为参数。
  • 通过使用’//’位运算符定义变量’interval’。
  • 它执行向下取整除法。
  • 它将值舍入到最接近的整数。
  • 遍历列表,并创建一个临时变量。
  • ‘interval’变量与列表中的每个索引进行比较,并将列表中的每个元素与临时变量进行比较。
  • 再次使用’interval’变量进行向下整除。
  • 定义列表,并在控制台上显示。
  • 通过传递此列表及其长度来调用方法。
  • 在控制台上显示输出。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程