python实现希尔排序算法,python希尔算法,希尔排序(Shell S


希尔排序(Shell Sort)是插入排序的一种。是针对直接插入排序算法的改进。该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。

def shellSort(items):    inc = len(items) / 2    while inc:        for i in xrange(len(items)):            j = i            temp = items[i]            while j >= inc and items[j-inc] > temp:                items[j] = items[j - inc]                j -= inc            items[j] = temp        inc = inc/2 if inc/2 else (0 if inc==1 else 1)a = [35, -8, 11, 1, 68, 0, 3];shellSort(a)print a # [-8, 0, 1, 3, 11, 35, 68]

评论关闭