2
我有两个priority_queue
与float
这样的:如何合并两个priority_queue?
std::priority_queue<float> queue1;
std::priority_queue<float> queue2;
,我需要将它们合并。但STL merge
算法不允许与priority_queue
直接工作:
merge(
queue1.begin(), queue2.end(),
queue2.begin(), queue2.end(),
queue1
);
有没有办法合并priority_queue
不使用辅助数据结构?
恐怕你将不得不从一个队列流行元素,并将它们推入另一个。 – juanchopanza 2013-04-06 14:59:10
标准库不包含合并两个堆的算法。由于'priority_queue'只是标准库的堆算法的一个包装,所以没有合并功能。 – 2013-04-06 15:01:46