C++中stack的用法及其解析
创作时间:
作者:
@小白创作中心
C++中stack的用法及其解析
引用
CSDN
1.
https://blog.csdn.net/qq_61638928/article/details/137088012
C++中的stack是一种非常重要的容器适配器,它遵循后进先出(LIFO)的原则,在很多场景中都有广泛的应用。本文将从stack的基本概念、使用方法到其底层实现原理进行全面解析,帮助读者系统地掌握这一重要数据结构。
一、stack的介绍
- stack是一个容器适配器,它的名字叫做栈
专门用在后进先出的上下文环境中的,它的删除与插入操作只能从容器的一端进行。形象一点,就好像一个容器里放东西,先放进去的就在底部,要想拿出来,就得先把上面(后面放的)先拿出来。和排队是反着干,后面来的,反而先得到解决。
注意:虽然他和内存中的栈帧都是后进先出,但他们是两个完全不同的概念。
栈帧是内存中的一个区域,二stack是一种数据结构。
stack的样子like this
它需要包含头文件
#include<stack>
二、stack的使用
1.stack的初始化和定义
先定义一个容器:我们可以选择一些数据存进去即可。
//<>内是想让stack里存入的数据类型
stack<int>s1; //一个储存数据类型为int的stack容器s1
stack<double>s2; //一个储存数据类型为double的stack容器s2
stack<string>s3; //一个储存数据类型为string的stack容器s3
2.stack的操作
stack的提供的函数有:
- empty():判断stack是否为空
- size():stack的大小
- top():栈顶元素
- push():入栈
- pop():出栈
下面展示了上面五个操作,同时也是stack的遍历方式:首先判断stack里有没有元素,我们只需每次取出栈顶元素,然后让他出栈,依次打印栈里的内容。
stack的基本操作就是这些,但是要在实际应用中才能感受到stack的强大。
三、stack的底层实现
- stack叫做适配器,是因为他的底层是调用了deque的容器,deque就是类似vector这样的容器。这个只需知道了解就行了。
热门推荐
多所985官宣:研究生宿舍,没了!
如何构建论文的逻辑框架?
髌骨软骨磨损可以做什么理疗
哪些条款是铁路安全管理条例的核心内容?
中药没煎对,等于瞎浪费?
檀香紫檀:珍贵红木树种的百科全书
中国网球选手表现分析:张之臻创纪录,卫冕冠军王欣瑜惨遭失利
家人被刑拘?别急,这里有你想知道的一切
复方锌布颗粒与布洛芬的区别
电脑睡眠模式怎么设置?5个方法为您延长电脑寿命!
个人承包工程工程款如何拨付和纳税?
腾讯字节投资生变,互联网失去接盘侠
代表建议|如何根治“神医”“神药”乱象?省人大代表建言加强医疗广告监管
养鸡秘籍:鸡消瘦、采食量上不去是咋回事?怎么办?
生物分类:特征、功能和进化
数据库系统架构与DBMS功能探微:现代信息时代数据管理的关键
交通事故找人顶包和替人顶包的法律责任
心肺复苏后的目标体温管理
互动平台交流差点惹出祸,上市公司紧急发澄清公告!
茶香入心:各类茶叶的养生功效
红糖姜茶里面究竟有没有红糖?
建筑智能化工程资质:定义、分类、申请流程及发展趋势
开网约车需要满足哪些条件?办理流程详解
科学与玄学的交汇:中微子
医疗事故处理指南:病历索要、事故认定与鉴定期限详解
教你怎么制定一份完整的旅游攻略,从旅行小白到规划大师,只需这几步
俾斯麦级战列舰:二战时期的海上巨兽
手相与面相的科学性和可信度分析
汉朝没有马镫,匈奴骑兵为何还十分强悍?汉武帝:霍去病扫平它
清热解毒的良药——金银花