6
std::priority_queue<some_type, std::vector<some_type>, some_comparator> A;
std::priority_queue<some_type, std::vector<some_type>, some_comparator> B;

如何基于相同的比较器合并这些优先级队列 A 和 B。我试图找到内置函数,但找不到任何函数。

4

1 回答 1

6

最简单的方法是简单地将对象从一个队列移动到另一个队列:

while(!B.empty()) {
    A.push(B.top());
    B.pop();
}

不过,可能存在一种更有效的方法。

于 2013-07-19T12:07:32.240 回答