列出了queue和priority_queue的增删查改函數:
#include <queue> //頭檔案
queue<int>q //聲明
priority<int, vector<int>, greater<int> >pq 升序優先隊列(預設)
priority<int, vector<int>, less<int> >pq 降序優先隊列(預設)
priority<node>pq_node //node為結構體,可以自定義優先級
struct node{
int x, y;
friend bool operator < (node a, node b){
return a.x > b.x; //結構體中,x小的優先級高
}
}
q.push() //隊尾插入元素
q.pop() //隊頭彈出元素
q.front() //傳回第一個元素
q.back() //傳回最後一個元素
q.size() //傳回元素個數
q.empty() //傳回是否為空
總的來說,priority_queue除了元素預設升序排列以外,其他的操作函數都和queue相同。