1. 程式人生 > 其它 >C++ STL 資料結構模板的運用

C++ STL 資料結構模板的運用

本文根據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\)):

未完待更……