希尔排序

def shell_sort(num_list):
    step = int(len(num_list)/2)
    while step>0:
        for i in range(step,len(num_list)):
            while i>=step and num_list[i]<num_list[i-step]:
                num_list[i],num_list[i-step]=num_list[i-step],num_list[i]
                i=i-step
        step=int(step/2)
    return num_list
原文地址:https://www.cnblogs.com/reyinever/p/11111627.html