希尔排序(Shell Sort)是插入排序的一种更高效的改进版本。它与插入排序的不同之处在于,它会优先比较距离较远的元素。
以下是用 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: