两者都是容器适配器,两者都在标头<queue>
中定义,但它们都有不同的接口来访问'first'元素。我可以理解由于数据结构的限制而缺少back
,但是命名front
却使我感到困惑。
答案 0 :(得分:1)
priority_queue
容器适配器是标准库的堆算法的便捷包装,它使用序列容器作为经典的二进制堆。名称top
可能反映了这种关联;我们将其称为堆的“顶部”,因为我们将其可视化为堆有序的二叉树,其根(顶部)的优先级最高。
答案 1 :(得分:1)
是的。
这是两个不同的适配器。它们“适应”底层容器以具有特定的接口。这两类“定义”了算法可以使用的接口。
为什么使用该术语?
front
和back
。 front
,但可能要将其与选择top
的队列区分开来。它可能与实现有关(因为它几乎绝对是掩盖下的一个堆,上面只有一个top
)。