当前位置: 首页 > article >正文

优先队列【东北大学oj数据结构9-3】C++

优先队列
优先级队列是一种数据结构,其中保存了一组数据 S,其中每个元素都有一个键,并执行以下操作:

insert(S, k):将元素k插入集合S
extractMax(S):从S中取出S中key最大的元素并返回其值
创建一个程序,为优先级队列 S 插入 (S, k) 和提取 Max (S)。这里,队列的元素是一个整数,它本身被视为一个键。

输入
多条指令被赋予优先级队列 S。每条指令都以插入 k、提取或结束的形式在一行中给出。其中 k 表示要插入的整数。

end 指令标志着输入的结束。

输出
对于每个提取命令,在一行输出从优先级队列 S 中提取的值。

约束
指令数不超过2,000,000。
0 ≤ k ≤ 2,000,000,000

输入样例

insert 8
insert 2
extract
insert 10
extract
insert 11
extract
extract
end

输出样例

8
10
11

#include <iostream>
#include <vector>
#include <string>
#include <queue>
 
using namespace std;
 
int main() {
    priority_queue<int> a;
    string c;
    int v;
 
    while(cin>>c)
    {
        if(c=="insert")
        {
            cin>>v;
            a.push(v);
        }
        else if(c=="extract")
        {
            if(!a.empty())
            {
                cout<<a.top()<<endl;
                a.pop();
            }
        }
        else if(c=="end")
        {
            break;
        }
    }
    return 0;
}

 


http://www.kler.cn/a/448361.html

相关文章:

  • Unity全局雾效
  • 【TF-IDF】Hugging Face Model Recommendation System
  • 【WRF教程第3.1期】预处理系统 WPS 详解:以4.5版本为例
  • 搜索召回概要
  • 个人秋招总结
  • 第10章:CSS最佳实践 --[CSS零基础入门]
  • 【故障处理系列--gitlab的CI流水线下载安装包提示报错】
  • 【Rust自学】3.6. 控制流:循环
  • 苍穹外卖-day05redis 缓存的学习
  • GFPS扩展技术原理(七)-音频切换消息流
  • 探索 JSON 数据在关系型数据库中的应用:MySQL 与 SQL Server 的对比
  • Obfuscator使用心得
  • 《开启微服务之旅:Spring Boot Web开发》(二)
  • Docker挂载
  • SQL 使用带聚集函数的联结
  • 【多维 DP】力扣3250. 单调数组对的数目 I
  • 情报信息收集能力
  • HR/TA/HRBP的关系
  • DDoS工作原理
  • YOLOv9-0.1部分代码阅读笔记-lion.py
  • workman服务端开发模式-应用开发-后端api推送修改一
  • leetcode之hot100---48旋转图像(C++)
  • 最新ubuntu20.04安装docker流畅教程
  • 关于UDP缓冲区和丢包统计
  • 前端配置跨域的详细指南
  • ReactPress 1.6.0:重塑博客体验,引领内容创新