python实现希尔排序

简介: python实现希尔排序

希尔排序


# 希尔排序基于插入排序
def insert_sort_gap_(li,gap):
    for i in range(gap,len(li)):    # i 代表摸到的牌的下标
        tmp = li[i]
        j = i-gap        # j指的是手中的牌的下标
        while j >= 0 and li[j] > tmp:
            li[j+gap] = li[j]     # 将大的数放到后面
            j -= gap
        li[j+gap] = tmp
def shell_sort(li):
    d = len(li)//2
    while d >= 1:
        insert_sort_gap_(li,d)
        d //= 2
li = list(range(1000))
import random
random.shuffle(li)
shell_sort(li)
print(li)
相关文章
|
算法 搜索推荐 Shell
Python算法——希尔排序
Python算法——希尔排序
64 0
|
Python
Python实现因子分析(附案例实战)
Python实现因子分析(附案例实战)
1638 0
Python实现因子分析(附案例实战)
Python print() 打印两个 list ,实现中间换行
Python print() 打印两个 list ,实现中间换行
|
算法 大数据 Python
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现
155 2
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现
|
机器学习/深度学习 算法 Python
利用python实现逻辑回归(以鸢尾花数据为例)
利用python实现逻辑回归(以鸢尾花数据为例)
276 0
利用python实现逻辑回归(以鸢尾花数据为例)
|
存储 数据安全/隐私保护 计算机视觉
python 实现pacs功能 推送下拉影像
python 实现dcmtk关联pacs功能 推送下拉影像
287 0
python 实现pacs功能 推送下拉影像
|
前端开发 Python
Leecode加法题目3个 每日练习 Python实现
Leecode加法题目3个 每日练习 Python实现
113 0
Leecode加法题目3个 每日练习 Python实现
|
iOS开发 Python
Python实现微信消息连续发送
Python实现微信消息连续发送
Python实现微信消息连续发送
python实现微信小游戏“飞机大战”
python实现微信小游戏“飞机大战”
python实现微信小游戏“飞机大战”