数据结构--栈

栈是 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 的值

推荐阅读更多精彩内容