当前位置: 首页 > article >正文

顺序栈讲解

文章目录

  • 🍊自我介绍
  • 🍊顺序栈讲解
    • 生活中的例子
    • 栈的基本概念
    • 入栈和出栈


你的点赞评论就是对博主最大的鼓励
当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~


🍊自我介绍

  Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾”“内容共创官” ,现在我来为大家介绍一下有关物联网-嵌入式方面的内容。


🍊顺序栈讲解

生活中的例子

  手枪大家小时候肯定都玩过。我们给手枪上子弹的时候,假设有8颗子弹,假设1号子弹先入弹夹,然后2号子弹再入弹夹,接着3号子弹,…-直到我们所有的8颗子弹全部入弹夹,装弹完毕。但是当我们的子弹射出的时候,确实我们的8号子弹先出来,然后是7号子弹,最后是我们的1号子弹在出来。这个子弹的装入和出来的顺序就很符合我们栈的定义。那么究竟什么是栈呢?

栈的基本概念

介绍
  栈是限制在一端进行插入操作和删除操作的线性表(俗称堆栈),允许进行操作的一端称为“栈顶”,另一固定端称为“栈底”,当栈中没有元素时称为“空栈”
  顺序栈:栈的顺序存储结构叫做顺序栈。

在这里插入图片描述
特点:
LIFO:last in first out ,后进先出。
基本概念:
栈顶 :一般用变量top来表示,在线性栈中表示我们数组的下标
本质:
  栈就是我们特殊一点的线性表。同样具有前驱和后继,只不过,"它限定了我们只能在一端进行插入和删除操作的线性表 。也就是说,我们其实栈底是固定的,随着元素的增加,我们的栈顶top的值在变化

入栈和出栈

入栈
栈的插入操作,我们叫做入栈,类似于子弹入弹夹
在这里插入图片描述
出栈
栈的删除操作,我们叫做出栈。类似于子弹射出。
在这里插入图片描述
结论:
顺序栈其实就是相当于我们的数组的操作,只不过这里多了一个top记录栈顶,其实就是相当于记录数组最后一个元素的下标
栈的初始值
思考:空栈的时候,top的初始值应该是多少?

根据前面的介绍我们知道,top相当于记录数组最后一个元素的下标,那么我们的top的初始值设置为-1最为合适。
在这里插入图片描述


http://www.kler.cn/a/306006.html

相关文章:

  • 基于微信小程序的农场管理系统的设计与实现,LW+源码+讲解
  • 山泽光纤HDMI线:铜线的隐藏力量
  • HBase使用create创建表时报错ERROR: KeeperErrorCode = NoNode for /hbase/master
  • java八股-jvm入门-程序计数器,堆,元空间,虚拟机栈,本地方法栈,类加载器,双亲委派,类加载执行过程
  • WebGIS三维地图框架--Cesium
  • INQUIRE:一个包含五百万张自然世界图像,涵盖10,000个不同物种的专为专家级文本到图像检索任务设计的新型基准数据集。
  • C语言 | Leetcode C语言题解之第406题根据身高重建队列
  • ICPC网络赛 以及ACM训练总结
  • 计算架构模式之接口高可用
  • OpenAI发布o1,首个具备‘推理’能力的模型
  • JavaScript事件处理和常用对象
  • Git+Jenkins 基本使用(Basic Usage of Git+Jenkins)
  • 【C++】STL--string(上)
  • QEMU的时间
  • uniapp的苹果全屏播放再退出会导致页面字体变大解决方法
  • 「数组」十大排序:精讲与分析(C++)
  • C++: 二叉树进阶面试题
  • Leetcode 验证回文串
  • kettle从入门到精通 第八十五课 ETL之kettle kettle中javascript步骤调用外部javascript/js文件
  • PointNet2(一)分类
  • Qt:懒汉单例(附带单例使用和内存管理)
  • 气压测试实验(用IIC)
  • Superset二次开发之源码DependencyList.tsx 分析
  • 828华为云征文 | 云服务器Flexus X实例:部署 Gitea,拥有自己的Git仓库,管理本地代码
  • 微服务之间的安全通信
  • Xorbits Inference(Xinference):一款性能强大且功能全面的大模型部署与分布式推理框架