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这样的容器。这个只需知道了解就行了。
热门推荐
股票数据:概念、功能与应用场景全解析
蛇皮果的功效与作用、禁忌和食用方法
英雄联盟手游未来前景分析与应对策略探讨
泡温泉有什么规定?介绍日本温泉礼仪及冬季推荐温泉
揭开江苏“富可敌国”秘密:5座万亿城市, 昆山连续20年称霸全国
【以案说法】我的房子我的地,想卖就能卖?
专家学者共议:做好家庭教育,要解决好哪些问题?
2024年临床医学专业录取分数线及全国大学排名(含图表)
探索中国发明专利申请流程,从提交到授权需要哪些步骤?
年薪制人员的薪酬核算,年终奖如何计算和发放?
如何实现财务自由:策略与路径
如何判断宅基地面积是否足够及处理纠纷指南
妈祖信仰:全球过亿信徒,这位神祇究竟是谁?
为什么说公积金最好不要轻易提取?
肺癌患者术后如何选择化疗方案
2024年临床医学专业录取分数线及全国大学排名
长春花的功效与作用 药用价值
脱落酸的主要作用
汉诺威王朝:统治英国与德国的百年传奇
皮下脂肪瘤属于什么科?一文详解不同科室的诊断与治疗
销售利润如何管理
用工纠纷调解中心:构建和谐劳动关系的创新实践
终端门店门槛价已降至12万级,为何奥迪Q2L的销量依然不高?
通过肉类实现生酮饮食中的微量元素补充
冷凍減脂有效嗎?有後遺症嗎?醫師介紹原理、效果、術後保養
21岁志愿军小战士,凭着一把老式步枪,跻身世界十大狙击手行列
开办药品经营企业必须具备的条件是什么
洗衣机E1故障怎么办?一文详解不脱水问题的排查与解决
合伙协议关于退股怎么写
质子交换膜燃料电池PEMFC的组成及原理