C++ 每日一题3:小根堆操作

编程入门 行业动态 更新时间:2024-10-27 06:31:01

C++ 每日一题3:小根堆<a href=https://www.elefans.com/category/jswz/34/1770947.html style=操作"/>

C++ 每日一题3:小根堆操作

每日一题3:小根堆操作

题目描述

请初始化一个小根堆为空,对于这个小根堆,需要支持以下三种操作:

操作1:输入1 x。表示将x插入到小根堆中。

操作2:输入2。表示输出当前小根堆内的最小数

操作3:输入3。表示删除当前小根堆内的最小数

输入格式

第1行输入正整数N,表示操作个数。

第2~N+1行,每行包含1个或2个正整数,表示三种操作

操作1:输入1 x。

操作2:输入2。

操作3:输入3。

输出格式

对于每个操作2(数字2),每下一行输出对应操作2的结果。

分析

考察小根堆的基本操作,可使用STL的优先队列(priority_queue)完成。

代码

#include<bits/stdc++.h>
using namespace std;
int n,op,x;
priority_queue<int>h;
int main(){cin>>n;for(int i=1;i<=n;i++){cin>>op;switch(op){case 1:cin>>x;h.push(-x); break;case 2:cout<<-h.top();break;case 3:h.pop(); }}return 0;
}

更多推荐

C++ 每日一题3:小根堆操作

本文发布于:2024-02-08 20:52:59,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1674918.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:操作   小根堆

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!