希尔排序

def shellSort(shuzu):
    N = len(shuzu)
    h = 1
    while h < N/3:
        h = 3 * h + 1#1,4,13,40,121,...
    while h >= 1:#将数组变为h有序
        for i in range(h, N):
            j = i
            while j >= h:
                if a[j] < a[j-h]:
                    a[j],a[j-h] = a[j-h],a[j]
                j = j - h
        h = int(h / 3)


你可能感兴趣的:(希尔排序)