日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

优先队列重载

發(fā)布時間:2025/4/5 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 优先队列重载 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

優(yōu)先隊列

優(yōu)先隊列是隊列的一種,可以按照自定義的方式對數(shù)據(jù)進行排序。
常用的是對數(shù)的操作,默認是從大到小

入隊操作push(),出隊操作pop(),隊首元素是最大值top()。
push一堆數(shù)進來,每push一次,top總是最大的數(shù)。
比如1,4,5,7 ,出隊的順序是7,5,4,1.

1.標準模板庫使用<操作符來確定元素之間的優(yōu)先級關(guān)系
默認的是從大到小

priority_queue<int> pq //等價于 priority_queue<int,less<int> >

2.從小到大順序

priority_queue<int,greater<int> >

3.重載

兩種寫法

第一種
一個參數(shù)的需要用bool operator <(const StructName & name)const

struct seg{int l;int r;int len;bool operator<(const seg&s2)const{if(s2.len==len)//長度相同,左端點小者優(yōu)先 return l>s2.l;elsereturn len<s2.len;//長度大者優(yōu)先 } };

第二種
兩個參數(shù)的需要用friend bool operator<(const StructName & name1,const StructName & name2)

struct seg1{int l;int r;int len;friend bool operator<(const seg1 &s1,const seg1 & s2){if(s1.len==s2.len)return s1.l>s2.l;//左端點從小到大elsereturn s1.len<s2.len;//長度從大到小 } };

參考博客:優(yōu)先隊列重載 3種寫法

總結(jié)

以上是生活随笔為你收集整理的优先队列重载的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。