C++标准模板库(STL)用法介绍:stack
stack:栈,在STL中主要则是实现了一个后进先出的容器。
使用stack前需要添加:
#include <stack>
using namespace std;
1. stack声明
stack是一个模板类,所以使用前需要声明。
声明
stack<typename> st;
typename可以是任何基本类型,也可以是STL标准容器
2. stack访问
由于栈本身就是一种后进先出的限制性数据结构,因此在STL中只能通过top()来访问栈顶元素
printf("%d", st.top());
3. stack常用函数
(1) push()
st.push(x)用来将x送入栈
(2) top()
st.top()用来获得栈顶元素
(3) pop()
st.pop()用来令栈顶元素弹出
(4) empty()
st.empty()用来检测栈是否为空,空则返回true,否则返回false
注:使用st.top()之前,必须用empty()判断栈是否为空,否则可能因为栈空出错
(5) size()
st.size()用来返回栈内元素的个数
4. stack用途
模拟实现一些递归
一般来说,程序的栈内存很小,如果递归程序的层数过深,容易导致程序崩溃。使用栈来模拟递归算法的实现,可以防止程序对栈内存的限制而导致运行出错(这种应用较少)
欢迎访问我的STL系列: