栈
简介
- 栈在STL容器中实现的是一个后进先出的容器。
- 头文件:
#include <stack>
,同时必须要有using namespace std
。 - 定义stack:
stack<<typename> name
,其中typename可以是任何基本类型或者容器(int,long long ,char .string ,struct)
均可,name是栈的名字(自己起的名字)。
一、stack的常用函数
定义:stcak<typename>s1
,下面用s1来举例。下面的时间复杂度均为0(1)。
- 入栈:
s1.push(x)
; - 出栈:
tmp=s1.top()
; - 弹出栈顶:
s1.pop()
: - 检测stack是否为空:
s1.empty()
;bool类型,若为空返回ture
,否则返回false
。 - stack元素内的个数:
s1.size()
;
二、stack相关习题。
problem A:栈-程序员输入问题(NEFU 1624)
problem B:栈-溶液模拟器(NEFU 1627)
problem C:栈-火车编组(NEFU 1627)
problem D:栈-洗盘子 (NEFU 1629)
problem E:栈-括号匹配(NEFU 1630)
problem F:栈-表达式求值(NEFU)