本文根据CCF NOI 竞赛大纲 的顺序编写。数据结构
栈是一种先进后出的数据结构。使用 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() |
查询栈是否为空 | 查询 |
队列是一种先进出的数据结构。使用 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() |
查询队列是否为空 | 查询 |
链表是一种数据结构。使用 STL 的 list 数据结构须要如下头文件:get
#include <list>
如下是 list 经常使用函数(用例中队列名为 \(l\)):table
未完待更……class