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.我試圖找到內建函數,但找不到任何內容。合併兩個優先級隊列
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.我試圖找到內建函數,但找不到任何內容。合併兩個優先級隊列
最簡單的方法是簡單地從一個隊列移動物件:
while(!B.empty()) {
A.push(B.top());
B.pop();
}
可能存在更有效的方法,雖然。
這看起來像我最後的手段。 –
@BoBTFish:'std :: priority_queue'沒有公開迭代器。 – Gorpik
將所有元素從一個隊列推送到另一個隊列中? – juanchopanza
@BoBTFish我已經想到了它,但問題是它的迭代器不可訪問。我不能做A.begin()或A.end()。該界面不可用。 –