确定两个priority_queues是否相等

时间:2013-07-18 15:39:02

标签: c++ stl priority-queue

我想检查两个std :: priority_queue(让我们称之为PQ)(其矢量作为底层包含者)是否相等。我想到的是以某种方式访问​​底层向量然后使用std :: equal。 PQ提供的接口无法检查相等性。天真的方法是从这两个PQ的副本中弹出每个元素(因为我不想丢失原始的PQ)并逐个检查,但我的PQ的大小在我当前(时间)通常非常大敏感的)申请所以不利。

修改

它已被宣布为:

typedef std::priority_queue<std::pair<int,int>, std::vector<std::pair<int,int> >, greater_than> PRIORITY_Q;

其中greater_than是一个结构(具有一个函数和一些其他数据),用于处理比较。

我想要的是:  假设我们有

PRIORITY_Q a;
PRIORITY_Q b;

然后我们用值填充队列a和b。

我想检查a == b(通过重载==)。

0 个答案:

没有答案