6.7 stack详解
stack翻译为栈,是STL中实现的一个先进后出的容器。
要使用stack,需要添加头文件和命名空间。
#include<stack>
using namespace std ;
1. stack的定义
与其他STL容器相同
stack< typename > s ;
2. stack容器元素的访问
由于stack本身就是一种先进后出的限制性数据结构,在STL中stack只能通过**top()**来访问栈顶元素
st.top() ;
3. stack常用函数解析
(1)push()
push(x)将x压入栈顶,复杂度为O(1)。
(2)top()
top()获得栈顶元素,复杂度为O(1)。
(3)pop()
pop()用以弹出栈顶元素,复杂度为O(1)。
(4)empty()
empty()可以检测stack是否为空,复杂度为O(1)。
(5)size()
size()返回stack内元素个数,复杂度为O(1)。
4. stack常见用途
stack用来模拟实现一些递归,防止程序对栈内存的限制而导致程序运行出错。