【发布时间】:2012-09-11 18:04:33
【问题描述】:
我的问题与Is there a Queue (PriorityQueue) implementation which is also a Set? 相同,只是这个问题是关于 c++ 和 stl 的。
是否可以使用将stl设置为容器类的stl优先级队列?如果没有,是否有一个替代容器类可以与优先级队列一起使用以使其成为一个集合?
【问题讨论】:
-
不要问如何将方钉塞入圆孔中,您能说出您想要完成的任务吗? (除了折断钉子的角
<g>) -
为什么要把它做成一套?您想要独特的会员资格吗?
-
@KerrekSB 是的,我想要唯一的会员资格。
-
更具建设性:容器适配器
queue需要一个容器类型,允许在其后面推送新元素并从前面弹出元素。std::set不这样;它有自己的元素应该处于的顺序的概念,因此不支持推送和弹出。 -
std::priority_queue 的序列要求不仅仅是推送和弹出。 owagh 你应该自己阅读容器要求。你可以这样做,但它需要你滚动一个容器来建立你放置的额外约束(唯一性),因为我不知道有一个股票标准容器可以满足所有要求 + 唯一性(我假设你会通过在违规时抛出异常来强制执行)。
标签: c++ stl set priority-queue