web建站教程
  1. 首页
  2. vuejs
  3. js
  4. 好玩
  5. seo教程
  6. 前端知识
  7. 百度echarts
  8. 更多
    php入门
    nodejs
    mockjs
    reactjs
    mysql
    wordpress
    织梦cms
    帝国cms
    git教程
    IT知识
    模板大全
    休息站

python语法如何实现堆排序

263 ℃
     

由于在python中堆的特性是最小堆,堆顶的元素始终是最小的,可以将序列转换成堆之后,再使用pop弹出堆顶元素来实现从小到大排序。具体实现代码如下:

from heapq import heappush, heappop, heapify

def heapsort(iterable):
  h = []
  for value in iterable:
    heappush(h, value)
  return [heappop(h) for i in range(len(h))]
 
def heapsort2(iterable):
  heapify(iterable)
  return [heappop(iterable) for i in range(len(iterable))]
 
data = [1, 3, 5, 7, 9, 2, 4, 6, 8, 0]
 
print(heapsort(data))
print(heapsort2(data))

#输出
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Mac电脑安装Python软件后怎么查看版本号(附下载地址)

Python语法PDF转Word只需要4行代码

Python语法出现keyerror错误解决方法

python语法中的import语句的正确用法

如何利用Python中生成合成数据的三个库

标签: python堆排序, python语法

上面是“python语法如何实现堆排序”的全面内容,想了解更多关于 后端开发 内容,请继续关注web建站教程。

当前网址:https://ipkd.cn/webs_4253.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

当前位置: 网站首页 > 后端开发
本文共计417个字,预计阅读时长3分钟
生活小工具,收录了80多款小工具
上一篇: 推荐一款可免费商用圆体字库——江城圆体
下一篇: 推荐一款由字制区设计团队的免费综艺字体——字制区喜脉体
x 打工人ai神器