博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
堆——优先队列
阅读量:6567 次
发布时间:2019-06-24

本文共 958 字,大约阅读时间需要 3 分钟。

/*挑战程序设计竞赛——第2版P73*/#include
#include
#include
#define MAX_N 100using namespace std;int heap[MAX_N], sz = 0;void push(int x){ //自己结点的编号 int i = sz++; while (i > 0) { int p = (i - 1) / 2; //如果没有大小颠倒则退出 if (heap[p] <= x)break; heap[i] = heap[p]; i = p; } heap[i] = x;}int pop(){ int ret = heap[0]; int x = heap[--sz]; int i = 0; while (i * 2 + 1 < sz) { int a = i * 2 + 1, b = i * 2 + 2; if (b < sz&&heap[b] < heap[a])a = b; if (heap[a] >= x)break; heap[i] = heap[a]; i = a; } heap[i] = x; return ret;}int main(){ priority_queue
pque; pque.push(3); pque.push(5); pque.push(1); while (!pque.empty()) { cout << pque.top() << endl; pque.pop(); } system("pause"); return 0;}

 

转载于:https://www.cnblogs.com/littlehoom/p/3513687.html

你可能感兴趣的文章
A simple Test Client built on top of ASP.NET Web API Help Page
查看>>
浅谈WebService的调用<转>
查看>>
Theano学习笔记(三)——图结构
查看>>
在mysql数据库中,文章表设计有啥好的思路
查看>>
CSS-返回顶部代码
查看>>
Swift - 22 - 循环结构
查看>>
COALESCE在SQL拼接中的大用途
查看>>
mysql支持跨表delete删除多表记录
查看>>
UVa - 11400 - Lighting System Design
查看>>
Oracle 11g 客户端使用
查看>>
HtmlAgilityPack 总结(一)
查看>>
自适应游标共享技术01(Adaptive Cursor Sharing)
查看>>
嵌入式 自旋锁、互斥锁、读写锁、递归锁
查看>>
C# 图片旋转360度程序
查看>>
html邮件链接和锚点链接
查看>>
.NET平台开源项目速览(14)最快的对象映射组件Tiny Mapper
查看>>
eclipse hibernate配置文件(*.hbm.xml)加上自动提示功能
查看>>
Scala:没有continue,break怎么办?
查看>>
AJAX 跨域请求 - JSONP获取JSON数据
查看>>
谈谈Android重打包--初语
查看>>