1. 程式人生 > >【day0414 C++】優先順序佇列 priority_queue的使用

【day0414 C++】優先順序佇列 priority_queue的使用

STL queue佇列
 * FIFO,先進先出

 * 可以用list和deque做queue。不能用vector。

Demo:

#include <iostream>
#include <list>
#include <deque>
#include <queue>

using namespace std;

/* STL queue佇列
 * FIFO,先進先出
 * 可以用list和deque做queue。不能用vector。
 */

int main()
{
    //queue是一個容器介面卡,預設使用deque
    queue<int, queue<int> > a;
    queue<int> q;
    //queue<double, queue<double> > a; 只能是int型資料
    queue<int, list<int> >  b;

    q.push(23);
    q.push(34);
    q.push(6);
    q.push(-2);


    cout << "檢視隊首元素:" << q.front() << endl;  //檢視,不刪除
    cout << "檢視隊尾元素:" << q.back()  << endl;
    cout << "總共包含元素個數:" << q.size() << endl;
    q.pop();
    cout << "Pop後新隊首的元素:"<< q.front() << endl;

    cout << "q佇列元素:";
    int x = 0;
    while (q.size() != 0){
        cout << "刪除:" << q.front() << " "; //不允許在中間操作資料,所以沒有迭代器
        q.pop();
    }

    return 0;
}
輸出: