POJ 3481 Double Queue
发布日期:2021-07-01 03:39:41 浏览次数:2 分类:技术文章

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

题目链接:

题目大意:

给你0-3四个指令:

0 退出
1 添加优先级为P 的 K值,进入队列
2 最高优先级出队
3 最低优先级出队

思路:

利用map数据对key默认升序排列。

在这里插入图片描述
AC代码如下:

#include#include
using namespace std;int main(){
map
doubleQueue; map
::iterator it; int function, key, value; while(scanf("%d",&function) && function) {
if(function == 1) {
scanf("%d%d",&value,&key); doubleQueue.insert(pair
(key, value)); } else if(function == 2) {
if(doubleQueue.size() == 0) printf("0\n"); else {
it = doubleQueue.end(); printf("%d\n",(--it)->second); doubleQueue.erase(it); } } else if(function == 3) {
if(doubleQueue.size() == 0) printf("0\n"); else {
it = doubleQueue.begin(); printf("%d\n",it->second); doubleQueue.erase(it); } } } return 0;}

转载地址:https://michael.blog.csdn.net/article/details/89815666 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:数据结构--散列表 Hash Table
下一篇:POJ 1064 分割线缆(二分查找)

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月10日 19时41分22秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章