日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++STL特殊容器priority_queue

發布時間:2023/11/30 c/c++ 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++STL特殊容器priority_queue 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在了解priority_queue(優先隊列)前,可以先去瞅瞅queue,下面是傳送門啦>——<

傳送門

priority_queue的基本性能

class priority_queue<>實現出一個queue,只不過其中的元素依照優先級被讀取。priority_queue的接口與queue非常相近,只不過在插入元素后priority_queue會自動為元素排序,默認排序是operator <形成降序排列,也就是說,隊首的元素默認是最大的元素,我們在彈出元素時,就會彈出最大的那個元素。值得注意的是,如果同時存在若干個數值最大的元素,我們無法確知究竟哪一個會入選。

priority_queue使用須知

1.包含頭文件

#include<queue>

2.在頭文件<queue>中,class?priority_queue 定義如下

namespace std {template <typename T,typename Container = vector<T>typename Compare = less<typename Container::value_type>>class priority_queue; }

第一個template參數是元素類型,帶有默認值的第二個template參數定義了priority_queue內部用來存放元素的容器,默認容器為vector,帶有默認值的第三個template參數定義出“用以查找下一個最高優先級元素”的排序準則,默認以operator<作為比較標準。

但實際上,你可以用任何sequence容器支持priority_queue,只要他們支持random-access iterator和front()、push_back()、pop_back()等操作就行。由于priority_queue用到了STL heap算法,所以容器必須支持random-access。

priority_queue核心操作

1.核心接口成員函數

push() //將一個元素放入priority_queue中 top() //返回priority_queue的一個隊首元素,但是不刪除它 pop() //刪除priority_queue的一個隊首元素,但是不返回它

2.建立一個升序排序準則的priority_queue

priority_queue<int,vector<int>,greater<int> > pq; //建立一個容器為vector名為 pq 的 priority_queue

3.priority_queue的具體操作

#include<iostream> #include<queue> //必不可少的頭文件們 using namespace std; int main() {//創建一個容器為string的優先隊列priority_queue<string> pq1;//插入三個字符串pq1.push("AWSL");pq1.push("WSND");pq1.push("NMSL");//打印優先隊列cout << "priority_queue pq1:" << endl;cout << "now pq1.size is: ";cout << pq1.size() << endl;cout << "從隊首開始彈出pq1的元素" << endl;cout << pq1.top() << endl;pq1.pop();cout << pq1.top() << endl;pq1.pop();cout << pq1.top() << endl;pq1.pop();cout << "now pq1.size is: ";cout << pq1.size() << endl;cout << endl;//-----------------------------------//創建一個容器默認但是排序準則為升序的優先隊列priority_queue<int, vector<int>, greater<int> > pq2;//插入三個數字pq2.push(4396);pq2.push(777);pq2.push(250);//打印優先隊列cout << "priority_queue pq2:" << endl;cout << "now pq2.size is: ";cout << pq2.size() << endl;cout << "從隊首開始彈出pq2的元素" << endl;cout << pq2.top() << endl;pq2.pop();cout << pq2.top() << endl;pq2.pop();cout << pq2.top() << endl;pq2.pop();cout << "now pq2.size is: ";cout << pq2.size() << endl; }

本文留下了一個小bug,等待初學者自己去發現喲,嘻嘻嘻/*-*\

?

轉載于:https://www.cnblogs.com/cloudplankroader/p/10394252.html

總結

以上是生活随笔為你收集整理的C++STL特殊容器priority_queue的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲www. | 麻豆成人在线观看 | 亚洲色图28p | 国产一线天粉嫩馒头极品av | 手机av免费在线观看 | 夜夜骚av一区二区三区 | 懂色av一区二区在线播放 | 国产精品不卡av | 亚洲偷偷自拍 | ass极品水嫩小美女ass | 欧美日韩大陆 | 日b视频免费观看 | 女仆乖h调教跪趴1v1 | 不许穿内裤随时挨c调教h苏绵 | 一曲二曲三曲在线观看中文字幕动漫 | 伊人免费视频二 | 国产午夜伦鲁鲁 | 国产男女猛烈无遮挡a片漫画 | 操女网站| 天堂久久久久 | 成人一区二区精品 | 国产精品成人免费一区二区视频 | 毛片视频网站 | 最新视频在线观看 | 国产操视频| 香蕉视频官网在线观看 | 黄色在线观看av | 国产一区二区三区小说 | 精品久久久久久久中文字幕 | 欧美在线视频观看 | 国产一卡二卡在线 | 老局长的粗大高h | 欧美亚洲图片小说 | 综合久久久久久 | www一区 | 91精品啪在线观看国产线免费 | 妻色成人网 | 日本伦理在线 | 四虎影库| 一区二区三区有限公司 | 久久香视频 | 国产区免费 | 国产嗷嗷叫| 欧美mv日韩mv国产网站app | 熟妇人妻中文字幕无码老熟妇 | 美女视频一区二区 | 国产盗摄一区二区 | 壮汉被书生c到合不拢腿 | 成人黄色网页 | 亚洲最大免费视频 | 中国一区二区视频 | 中文字幕5566 | 国产91一区在线精品 | 俄罗斯porn| 一起草在线视频 | 一区二区三区视频免费看 | 亚洲综合涩 | 91中文国产 | av综合久久| 国产成人短视频在线观看 | 九九热在线免费观看 | 依依综合网 | 亚洲色图综合在线 | 欧美成人一二区 | 中文字幕一区视频 | 日本h片在线观看 | 影音先锋波多野结衣 | 雪花飘电影在线观看免费高清 | 久久久久久无码精品人妻一区二区 | 国产区第一页 | 国产专区自拍 | 在线国产日韩 | 视屏一区 | 天天综合永久入口 | 一区二区三区 欧美 | 蜜桃av免费在线观看 | 91网站免费看 | 日韩影院在线 | 国产精品自产拍高潮在线观看 | 最近中文字幕在线观看视频 | 亚洲日本中文字幕在线 | av爱爱网站| 九九热国产精品视频 | 国产麻豆精品视频 | 日本一区二区在线视频 | 精品国产一区一区二区三亚瑟 | 亚洲午夜一区二区三区 | 在线观看黄色片 | 国产精品黄色 | 欧美三根一起进三p | 99色这里只有精品 | 国产女人爽到高潮a毛片 | 日韩大片免费在线观看 | 极品探花在线 | 69性影院| 久热最新视频 | 黄色三级网络 | 亚洲色图二区 | 97色婷婷 |