好吧,開始累了,不想寫那麼多廢話了,直接講對打oj有用的部分吧。
priority_queue是由堆來實作的,底層是用vector來實作的,接收三個參數
priority_queue<int , vector<int>, less<int> >;
第一個參數是每一個結點的資料類型,第二個參數是用什麼容器來構造priority_queue,第三個結點是優先級的方式(c++提供了greater<>和less<>),可以用operation來重載(類似于sort的cmp函數)
操作
時間複雜度
top()
O(1)
push()
O(logn)
pop()
empty()
size()