优先队列重载
優先隊列
優先隊列是隊列的一種,可以按照自定義的方式對數據進行排序。
常用的是對數的操作,默認是從大到小。
入隊操作push(),出隊操作pop(),隊首元素是最大值top()。
push一堆數進來,每push一次,top總是最大的數。
比如1,4,5,7 ,出隊的順序是7,5,4,1.
1.標準模板庫使用<操作符來確定元素之間的優先級關系
默認的是從大到小
2.從小到大順序
priority_queue<int,greater<int> >3.重載
兩種寫法
第一種
一個參數的需要用bool operator <(const StructName & name)const
第二種
兩個參數的需要用friend bool operator<(const StructName & name1,const StructName & name2)
參考博客:優先隊列重載 3種寫法
總結
- 上一篇: codeforce训练2总结
- 下一篇: 合并果子优先队列