當(dāng)前位置:
首頁 >
C++之STL之priority_queue
發(fā)布時間:2023/12/4
44
豆豆
生活随笔
收集整理的這篇文章主要介紹了
C++之STL之priority_queue
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、priority_queue介紹
priority_queue 是優(yōu)先隊列 模板聲明帶有三個參數(shù),priority_queue<Type, Container, Functional>Type為數(shù)據(jù)類型,Container為保存數(shù)據(jù)的容器,F(xiàn)unctional為元素比較方式
Container必須是用數(shù)組實現(xiàn)的容器,如 vector, deque不能用list,
STL里面容器默認(rèn)用的是vector. 比較方式默認(rèn)用 operator< , 如果priority_queue后面?zhèn)z個參數(shù)缺省的話,
優(yōu)先隊列就是大頂堆,隊頭元素最大,如果要用到小頂堆,則一般要把模板的三個參數(shù)都帶進(jìn)去。
STL里面定義了一個仿函數(shù) greater<>,對于基本類型可以用這個仿函數(shù)聲明小頂堆
對于自定義類型, 則必須自己重載 operator<,自定義類型重載 operator< 后,聲明對象時就可以只帶一個模板參數(shù)
2、測試Demo
#include <iostream>
#include <stack>
#include <queue>
#include <algorithm>using namespace s
總結(jié)
以上是生活随笔為你收集整理的C++之STL之priority_queue的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++之greater和less
- 下一篇: IOS学习笔记七之KVC和Key路径