首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优先级队列映射

优先级队列映射
EN

Stack Overflow用户
提问于 2014-03-30 03:25:03
回答 1查看 1.2K关注 0票数 0

准确地说,我正在尝试编写优先级队列对的映射。在我将其添加到map之前,我真的不确定如何初始化和元素。特别是当对不存在时,我必须创建它,然后填充一个元素队列,将一个元素排入正确的队列,然后将整个对插入到map中。

代码语言:javascript
复制
typedef pair<priority_queue<myType>, priority_queue<myType>> Queue_Pair;
typedef unordered_map<string, Queue_Pair>  Map_of_Queues;
Map_of_Queues myMap;

那么,如何将优先级队列中的myType插入映射的优先级队列对中呢?在将元素插入到正确的队列之前,我必须进行多次检查,因此了解这一点将非常有帮助。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-03-30 03:36:36

代码语言:javascript
复制
// Get a reference to the Queue_Pair associated with "key"
// If it doesn't yet exist, create it.
Queue_Pair& qp = myMap["key"];

// add an element to the first priority queue
qp.first.push(myType_object);

// add an element to the second priority queue
qp.second.push(another_myType_object);

请注意,您可以这样做:

代码语言:javascript
复制
myMap["key"].first.push(myType_object);

但是,如果要按顺序多次重用关联的Queue_Pair,则每次都会产生查找成本,因此最好先将其存储在引用中,然后再使用该引用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22735779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档