python 排序模块 ———— heapq(学习笔记)
2024-08-31 16:45:25
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]))
最新文章
- 更有效率的使用Visual Studio(二)
- 初识Git
- 【整理】待毕业.Net码农就业求职储备
- LeetCode---Hash Table
- Beta版冲刺Day1
- javac 命令
- [Practical Git] Format commit history with git log arguments
- MFC消息映射与命令传递
- JS 精度问题处理
- java多线程系列(五)---synchronized ReentrantLock volatile Atomic 原理分析
- 修改maven项目jdk版本,并解决Dynamic Web Module 3.1 requires Java 1.7 or newer错误
- 【嵌入式开发】C语言 结构体相关 的 函数 指针 数组
- git之我常用的命令
- DotNetBar的窗口样式丢失
- ASP.NET Core 2.2中的Endpoint路由
- mac安装navicat mysql破解版
- 后台管理Models
- 茶道(tea)
- [LeetCode] 29. Divide Two Integers(不使用乘除取模,求两数相除) ☆☆☆
- 通过shell定时备份数据库