欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据结构与算法_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;
}

声明

文章整理自文章整理来源