C++ STL 資料結構模板的運用
阿新 • • 發佈:2021-08-11
本文根據CCF NOI 競賽大綱 的順序編寫。
棧(stack)
棧是一種先進後出的資料結構。使用 STL 的 stack 資料結構需要以下標頭檔案:
#include <stack>
以下是 stack 常用函式(用例中棧名為 \(s\)):
函式 | 語法 | 用例 | 作用 | 型別 |
---|---|---|---|---|
push() |
棧名.push(元素) |
s.push(a) |
在棧頂插入新元素 | 操作 |
pop() |
棧名.pop() |
s.pop() |
彈出棧頂元素 | 操作 |
top() |
棧名.top() |
a = s.top() |
訪問棧頂元素 | 查詢 |
size() |
棧名.size() |
len = s.size() |
查詢棧中元素數量 | 查詢 |
empty() |
棧名.empty() |
f = s.empty() |
查詢棧是否為空 | 查詢 |
佇列(queue)
佇列是一種先進出的資料結構。使用 STL 的 queue 資料結構需要以下標頭檔案:
#include <queue>
以下是 queue 常用函式(用例中佇列名為 \(q\)):
函式 | 語法 | 用例 | 作用 | 型別 |
---|---|---|---|---|
push() |
佇列名.push(元素) |
q.push(a) |
在佇列末端插入新元素 | 操作 |
pop() |
佇列名.pop() |
q.pop() |
彈出佇列頭端元素 | 操作 |
front() |
佇列名.front() |
a = q.front() |
訪問隊頭元素 | 查詢 |
back() |
佇列名.back() |
a = q.back() |
訪問隊尾元素 | 查詢 |
size() |
佇列名.size() |
len = q.size() |
查詢佇列中元素數量 | 查詢 |
empty() |
佇列名.empty() |
f = q.empty() |
查詢佇列是否為空 | 查詢 |
連結串列(list)
連結串列是一種資料結構。使用 STL 的 list 資料結構需要以下標頭檔案:
#include <list>
以下是 list 常用函式(用例中佇列名為 \(l\)):
未完待更……