当前位置: 首页 > 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

相关文章:

  • elasticsearch中使用fuzzy查询
  • CSS(二):美化网页元素
  • C++软件设计模式之装饰器模式
  • 详细解读SAQ评级
  • 普通人怎么入门学习并使用AI?
  • 探索Flink动态CEP:杭州银行的实战案例
  • 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):一款性能强大且功能全面的大模型部署与分布式推理框架