希尔排序
希尔排序,是直接插入排序的改进方法,它通过比较相距一定间隔的元素来进行,各趟比较所用的距离随着算法的进行而减小,直到只比较相邻元素的最后一趟排序为止。
代码实现
# -*- coding = utf-8 -*- # @Author: Wchime # @time: 2023/1/27 16:53 # @file: 希尔排序.py def sort_shell(li): """希尔排序""" n = len(li) gap = n // 2 while gap >= 1: for j in range(gap, n): i = j while i >0: if li[i] < li[i-gap]: li[i], li[i - gap] = li[i - gap], li[i] i -= gap else: break gap //= 2 if __name__ == "__main__": l = [1, 9, 4, 8, 2, 3, 7] sort_shell(l) print(l)

浙公网安备 33010602011771号