python实现shell排序(正宗的缩小增量插入排序)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#插入排序,缩小增量
def shell_sort(arr):
    gap = l = len(arr)
    while(gap > 1):
        gap = gap/2
        for i in xrange(gap, l):
            for j in xrange(i, 0, -gap):
                if arr[j] < arr[j-gap]:
                    arr[j], arr[j-gap] = arr[j-gap], arr[j]
    return arr

  

posted @ 2017-10-18 14:59  天空中的蜂蜂  阅读(490)  评论(0编辑  收藏  举报