问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

C++中stack的用法及其解析

创作时间:
作者:
@小白创作中心

C++中stack的用法及其解析

引用
CSDN
1.
https://blog.csdn.net/qq_61638928/article/details/137088012

C++中的stack是一种非常重要的容器适配器,它遵循后进先出(LIFO)的原则,在很多场景中都有广泛的应用。本文将从stack的基本概念、使用方法到其底层实现原理进行全面解析,帮助读者系统地掌握这一重要数据结构。

一、stack的介绍

  1. 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的底层实现

  1. stack叫做适配器,是因为他的底层是调用了deque的容器,deque就是类似vector这样的容器。这个只需知道了解就行了。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号