希尔排序是一种插入排序算法,其特点在于使用了较大的间隔将数组分组,然后对每组内的元素进行插入排序。这样可以让数组的局部有序,最终使整个数组有序。
下面是一个使用 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]