栈stack
后进先出
栈顶指针始终指向栈的最上方元素的一个标记,通常计作TOP。栈中没有元素(即栈空)时令TOP为-1。
常见用途:stack用来模拟实现一些递归,防止程序对栈内存的限制而导致程序运行出错。
1. stack的定义
在使用前,需要先添加头文件。
#include <stack>
using namespace std;
stack容器内元素的访问:
由于先进后出的数据结构,在STL的stack只能通过top()来访问栈顶元素。
st.top();
2. stack的常用操作
类型 | 类型解释 |
---|---|
push | 入栈 |
top | 弹出栈顶元素 |
pop | 出栈 |
empty | 判空 |
size | 获取栈内元素个数 |
注意:
-
在使用pop()函数和top()函数之前必须先使用empty()函数判断栈是否为空。
-
STL没有实现栈的清空,可以通过while循环反复pop出元素直到栈空。如下:
while(!st.empty()){ st.pop(); }
1. push()
将x入栈。
st.push(i);
2. top ()
直接取栈顶元素TOP指向的值。
st.top();
3. pop ()
弹出栈顶元素。
st.pop();
4. empty()
仅当TOP = -1时为栈空,返回true;否则,返回false。
if(st.empty() == true){
}
5. size
返回stack内元素的个数。
st.size();