天天看點

C++的STL的queue和priority_queue常用函數

列出了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相同。

繼續閱讀