数据结构与算法_stack的常见用法
程序员文章站
2022-05-19 19:17:53
...
stack翻译为栈,是STL中实现的一个后进先出的容器
1、stack的用法
1.1 头文件与定义
#include<stack>
(定义方法与其它容器相同,typename可以是任意基本数据类型或容器)
1.2 stack容器内的常用函数
由于栈(stack)本身就是一种后进先出的数据结构
在STL中的stack中只能通过top()来访问栈顶元素
- push()//入栈,在顶部压入元素
- top()//获得栈顶元素
- pop()//弹出栈顶元素
- empty()//可以检测stack内是否为空,真为空,假为非空
- size()//返回stack内元素个数
2. stack的常见用途
- stack常用来模拟一些递归,防止程序对栈内存的限制而导致程序出错
(一般来说,程序的栈内存空间很小,对有些题目来讲,如果用普通的函数来进行递归,一旦递归层数过深,则会导致程序运行崩溃,如果用栈来模拟递归算法的实现,可以避免这方面问题出现)
3. 代码实例
#include<stack>
#include<iostream>
using namespace std;
int main()
{
stack<int> st;
for(int i=0;i<=5;++i)
{
st.push(i);//往栈中压入元素
}
for(int i=1;i<=3;i++)
{
st.pop();//弹出栈顶元素
}
printf("%d\n",st.pop());
return 0;
}
声明
文章整理自文章整理来源
下一篇: Java常见数据结构与算法