C++ STL 數據結構模板的運用

本文根據CCF NOI 競賽大綱 的順序編寫。數據結構

棧(stack)

是一種先進後出的數據結構。使用 STL 的 stack 數據結構須要如下頭文件:函數

#include <stack>

如下是 stack 經常使用函數(用例中棧名爲 \(s\)):spa

函數 語法 用例 做用 類型
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 數據結構須要如下頭文件:code

#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 數據結構須要如下頭文件:get

#include <list>

如下是 list 經常使用函數(用例中隊列名爲 \(l\)):table

未完待更……class

相關文章
相關標籤/搜索