希尔排序(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

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐