C++ 中"priority_queue" 優(yōu)先級(jí)隊(duì)列實(shí)例詳解
C++ 中"priority_queue" 優(yōu)先級(jí)隊(duì)列實(shí)例詳解
1. 簡(jiǎn)介
標(biāo)準(zhǔn)庫隊(duì)列使用了先進(jìn)先出(FIFO)的存儲(chǔ)和檢索策略. 進(jìn)入隊(duì)列的對(duì)象被放置在尾部, 下一個(gè)被取出的元素則取自隊(duì)列的首部. 標(biāo)準(zhǔn)庫提供了兩種風(fēng)格的隊(duì)列: FIFO 隊(duì)列(FIFO queue, 簡(jiǎn)稱 queue), 以及優(yōu)先級(jí)隊(duì)列(priority queue).
priority_queue 允許用戶為隊(duì)列中存儲(chǔ)的元素設(shè)置優(yōu)先級(jí). 這種隊(duì)列不是直接將新元素放置在隊(duì)列尾部, 而是放在比它優(yōu)先級(jí)低的元素前面. 標(biāo)準(zhǔn)庫默認(rèn)使用元素類型的 "<" 操作符來確定它們之間的優(yōu)先級(jí)關(guān)系. 如需改變大小關(guān)系, 需要使用std::greater<temple>函數(shù), 在functional頭文件中.
2. 代碼
#include <iostream> // std::cout #include <queue> // std::priority_queue #include <vector> // std::vector #include <functional> // std::greater int main () { int myints[]= {10,60,50,20}; std::priority_queue<int> intPQueue1 (myints, myints+4); std::priority_queue<int, std::vector<int>, std::greater<int> > intPQueue2 (myints,myints+4); std::cout << "less than: " << std::endl; while( !intPQueue1.empty() ){ int pvalue = intPQueue1.top(); std::cout << pvalue << " "; intPQueue1.pop(); } std::cout << std::endl; std::cout << "bigger than: " << std::endl; while( !intPQueue2.empty() ){ int pvalue = intPQueue2.top(); std::cout << pvalue << " "; intPQueue2.pop(); } std::cout << std::endl; return 0; }
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
C++求四個(gè)正整數(shù)最大公約數(shù)的方法
這篇文章主要介紹了C++求四個(gè)正整數(shù)最大公約數(shù)的方法,涉及C++求余算法的運(yùn)用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-05-05c++重載運(yùn)算符時(shí)返回值為類的對(duì)象或者返回對(duì)象的引用問題
這篇文章主要介紹了c++重載運(yùn)算符時(shí)返回值為類的對(duì)象或者返回對(duì)象的引用問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11C++實(shí)現(xiàn)大整數(shù)乘法(字符串乘法)
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)大整數(shù)乘法、字符串乘法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09C++時(shí)間戳轉(zhuǎn)化操作實(shí)例分析【涉及GMT與CST時(shí)區(qū)轉(zhuǎn)化】
這篇文章主要介紹了C++時(shí)間戳轉(zhuǎn)化操作,結(jié)合實(shí)例形式分析了C++時(shí)間戳轉(zhuǎn)換與顯示操作的原理與具體實(shí)現(xiàn)技巧,涉及GMT與CST時(shí)區(qū)轉(zhuǎn)化,需要的朋友可以參考下2017-05-05C語言根據(jù)協(xié)議分割獲取字符串單元的實(shí)現(xiàn)代碼
今天小編就為大家分享一篇關(guān)于C語言根據(jù)協(xié)議分割獲取字符串單元的實(shí)現(xiàn)代碼,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12C++ Dijkstra算法之求圖中任意兩頂點(diǎn)的最短路徑
這篇文章主要為大家詳細(xì)介紹了用C++經(jīng)典算法-Dijkstra算法求任意兩頂點(diǎn)之間的最短路徑,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11