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]))

最新文章

  1. 更有效率的使用Visual Studio(二)
  2. 初识Git
  3. 【整理】待毕业.Net码农就业求职储备
  4. LeetCode---Hash Table
  5. Beta版冲刺Day1
  6. javac 命令
  7. [Practical Git] Format commit history with git log arguments
  8. MFC消息映射与命令传递
  9. JS 精度问题处理
  10. java多线程系列(五)---synchronized ReentrantLock volatile Atomic 原理分析
  11. 修改maven项目jdk版本,并解决Dynamic Web Module 3.1 requires Java 1.7 or newer错误
  12. 【嵌入式开发】C语言 结构体相关 的 函数 指针 数组
  13. git之我常用的命令
  14. DotNetBar的窗口样式丢失
  15. ASP.NET Core 2.2中的Endpoint路由
  16. mac安装navicat mysql破解版
  17. 后台管理Models
  18. 茶道(tea)
  19. [LeetCode] 29. Divide Two Integers(不使用乘除取模,求两数相除) ☆☆☆
  20. 通过shell定时备份数据库

热门文章

  1. Linux stat命令详解
  2. Linux 环境部署记录(三) - Jenkins安装与配置
  3. [2018HN省队集训D8T3] 水果拼盘
  4. 题解 P1018 【乘积最大】
  5. 解析JS运动
  6. [HAOI2018]奇怪的背包
  7. Hive学习之路 (十九)Hive的数据倾斜
  8. linq to sql 和linq to php 的区别
  9. 域对象 request
  10. 1、Orcal下载安装步骤图文详解