C++中的priority_queue
是一個容器適配器,它提供了常數時間查找最大元素(在std::greater
比較器下)和對數時間刪除最大元素的能力
如果你想要自定義比較函數或者使用其他類型的底層容器,可以在priority_queue
的模板參數中指定。例如:
#include<queue>
#include<vector>
#include<functional>
// 使用vector作為底層容器,并使用自定義比較函數
typedef std::priority_queue<int, std::vector<int>, std::greater<int>> CustomPriorityQueue;
這里我們使用了std::greater<int>
作為比較函數,所以CustomPriorityQueue
將會保存最小元素在頂部。