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