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