python 排序模块 ———— heapq(学习笔记)

  

复制代码
from heapq import *
def heasort(initi):# 排序
    h=[]
    for value in initi:
        heappush(h,value)#将每一个item进入heap中
    return [heappop(h) for  i in range(len(h))]
def merge_sort(seq):#堆排序
    if len(seq) <= 1:#如果seq的list长度小于1 直接返回
        return seq
    else:              
        middle = int(len(seq)/2)
        left = merge_sort(seq[:middle])
        right = merge_sort(seq[middle:])
        return list(merge(left, right)) 
if __name__ == '__main__':
    seq=[1,3,6,2,4]
    print(merge_sort(seq))
    print(heasort([11,2,31,4]))
复制代码

 

posted @   北漂的雷子  阅读(314)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
历史上的今天:
2017-07-08 Flask+uwsgi+Nginx+Ubuntu部署
点击右上角即可分享
微信分享提示