希尔排序(Shell Sort)是一种基于插入排序的算法,通过将待排序的元素按照一定的间隔分组,对每组进行插入排序,然后逐渐减小间隔,直到间隔为1,此时整个序列已经基本有序,再进行一次插入排序。
以下是Python实现的希尔排序代码:
def shell_sort(arr):
n = len(arr)
gap = 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 //= 2
return arr
arr = [9, 8, 7, 6, 5, 4, 3, 2, 1]
print(shell_sort(arr))
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Process finished with exit code 0
这段代码定义了一个名为shell_sort的函数,接受一个列表作为参数,并返回排序后的列表。在主程序中,我们创建了一个待排序的列表arr,然后调用shell_sort函数对其进行排序,并打印排序后的结果。
开发工具:PyCharm