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

相关文章
相关标签/搜索