Python实现希尔排序

烈酒焚心 提交于 2019-11-27 02:53:41

原文: http://106.13.73.98/__/46/

lst = [i for i in range(20, 0, -1)]

length = len(lst)
r = length // 2
while r:
    for i in range(length - r):
        if lst[i] > lst[i + r]:
            lst[i], lst[i + r] = lst[i + r], lst[i]
    r = r // 2
else:
    for i in range(length - 1):
        for i in range(i, -1, -1):
            if lst[i] > lst[i + 1]:
                lst[i], lst[i + 1] = lst[i + 1], lst[i]

原文: http://106.13.73.98/__/46/

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!