数据结构与算法_stack的常见用法

本文介绍了STL中的stack容器,包括其头文件与定义、常用函数如push、top、pop和empty等。stack常用于模拟递归,避免因递归深度过大导致的程序崩溃。并提供了代码实例进行说明。
摘要由CSDN通过智能技术生成

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. 代码实例


                
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值