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这样的容器。这个只需知道了解就行了。
热门推荐
爱喝茶的人,都应该收藏这张表~
中国“三航母时代”即将开启:福建舰完成首次海试!
如何有效进行笔记本电脑键盘练习(提高打字速度的练习方法与技巧)
刺史制度的作用 是什么官职
INTJ与INFJ的多方面差异及成长中的自我完善
算法的时间复杂度(详解)
加州大学洛杉矶分校哲学专业详解:从课程设置到就业前景
快速准确的域名查询工具:轻松了解网址信息
是什么让机械设备稳定运行?轴承维护清洁是关键!
道家思想的利与弊:中国传统哲学的瑰宝与局限性
右心衰为什么是体循环淤血
FFmpeg转换音频格式常用方式与参数详解
八月瓜种植技术及条件
华中科技大学2024年各学科排名一览表!附教育部评级比例
空气过量系数高如何调整?这种调整对发动机效率有何影响?
华西能源控股股东2085万股将被拍卖,公司预计2024年扭亏为盈
下腔静脉超声:急危重症患者的快速评估技巧
怎么区分食物中毒和急性肠胃炎
什么耳机音质最好?如何挑选高音质耳机?
李飞飞发公开信力挺开源AI:提出AI治理三大原则
《墨子·非攻》主要表达的是什么思想?
两种思维:固定型思维和成长型思维
为什么氯化铝是共价化合物?
混凝土的振捣:规范、危害与处理方案
篮球的测量方法与标准尺寸详解
资本家在经济中的角色和影响是什么?
马桶坑距的意义与测量方法(解读马桶坑距)
当全天候策略遇上ETF:穿越经济周期的资产配置艺术
全国大米哪家强?这十种大米凭啥脱颖而出?看完你就懂了!
为什么喝完酒会口渴缺水?