C++ STL: Queue

  1. 1. 簡介
  2. 2. 標頭檔
  3. 3. 宣告
  4. 4. 常用操作
  5. 5. 範例

佇列

簡介

按照先進先出(FIFO, First In First Out)運作,只允許從後端(back)插入(push),前端(front)移除(pop)。

就像排隊一樣,從後面排,先來的先進去。

標頭檔

1
#include <queue>

宣告

1
queue<type> q;

type 可為 int, char, string…,q可為任意名字。

常用操作

函數 描述
push() 從佇列後端插入一元素
pop() 從佇列前端移除一元素
front() 回傳前端元素
back() 回傳後端元素
empty() 回傳佇列是否為空
size() 回傳佇列中有幾個元素

範例

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <queue>
using namespace std;

int main(){
queue<int> q;
for(int i = 0; i < 5; ++i) q.push(i); //q內元素為0, 1, 2, 3, 4
q.pop(); //q內元素為1, 2, 3, 4
cout << "目前元素個數為 " << q.size() << "\n";
cout << "是否為空 " << q.empty() << "\n";
cout << "前端元素為 " << q.front() << "\n";
cout << "後端元素為 " << q.back() << "\n";
while(!q.empty()){ //不斷移除前端元素,直到佇列為空
q.pop();
}
cout << "是否為空 " << q.empty() << "\n";

return 0;
}
輸出

目前元素個數為 4
是否為空 0
前端元素為 1
後端元素為 4
是否為空 1

參考資料:cplusplus.com