栈是 OI 中常用的一种线性数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。栈的修改是按照后进先出的原则进行的,因此栈通常被称为是后进先出(last in first out)表,简称 LIFO 表。
STL 也提供了一个方法std::stack
// stack 构造 :
1. stack<Typename T> s;
2. stack<Typename T, Container> s;
/* stack 的 Container 需要满足有如下接口 :
* back()
* push_back()
* pop_back()
* 标准容器 std::vector / deque / list 满足这些要求
* 如使用 1 方式构造,默认容器使用 deque
*/
元素访问:
s.top()
返回栈顶
容量:
s.empty()
返回是否为空
s.size()
返回元素数量
修改:
s.push()
插入传入的参数到栈顶
s.pop()
弹出栈顶
其他运算符:
==、!=、<、<=、>、>=
可以按照字典序比较两个 stack
的值