码迷,mamicode.com
首页 > 编程语言 > 详细

python-实现希尔排序

时间:2017-09-16 13:38:29      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:__name__   else   for   style   code   enc   list   log   gap   

# encoding=utf-8


def shell_sort(alist):
    """希尔排序"""
    n = len(alist)
    gap = n // 2
    while gap >= 1:
        for j in range(gap, n):
            i = j
            while (i-gap) >= 0:
                if alist[i] < alist[i-gap]:
                    alist[i], alist[i-gap] = alist[i-gap], alist[i]
                    i -= gap
                else:
                    break
        gap //= 2

if __name__ == __main__:
    alist = [22, 1, 4, 553, 3, 212, 77]
    print(alist)
    shell_sort(alist)
    print(alist)

 

python-实现希尔排序

标签:__name__   else   for   style   code   enc   list   log   gap   

原文地址:http://www.cnblogs.com/wgDream/p/7530863.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!