顺序栈讲解
文章目录
- 🍊自我介绍
- 🍊顺序栈讲解
- 生活中的例子
- 栈的基本概念
- 入栈和出栈
你的点赞评论就是对博主最大的鼓励
当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~
🍊自我介绍
Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾” 和“内容共创官” ,现在我来为大家介绍一下有关物联网-嵌入式方面的内容。
🍊顺序栈讲解
生活中的例子
手枪大家小时候肯定都玩过。我们给手枪上子弹的时候,假设有8颗子弹,假设1号子弹先入弹夹,然后2号子弹再入弹夹,接着3号子弹,…-直到我们所有的8颗子弹全部入弹夹,装弹完毕。但是当我们的子弹射出的时候,确实我们的8号子弹先出来,然后是7号子弹,最后是我们的1号子弹在出来。这个子弹的装入和出来的顺序就很符合我们栈的定义。那么究竟什么是栈呢?
栈的基本概念
介绍
栈是限制在一端进行插入操作和删除操作的线性表(俗称堆栈),允许进行操作的一端称为“栈顶”,另一固定端称为“栈底”,当栈中没有元素时称为“空栈”。
顺序栈:栈的顺序存储结构叫做顺序栈。
特点:
LIFO:last in first out ,后进先出。
基本概念:
栈顶 :一般用变量top来表示,在线性栈中表示我们数组的下标。
本质:
栈就是我们特殊一点的线性表。同样具有前驱和后继,只不过,"它限定了我们只能在一端进行插入和删除操作的线性表 。也就是说,我们其实栈底是固定的,随着元素的增加,我们的栈顶top的值在变化 。
入栈和出栈
入栈
栈的插入操作,我们叫做入栈,类似于子弹入弹夹
出栈
栈的删除操作,我们叫做出栈。类似于子弹射出。
结论:
顺序栈其实就是相当于我们的数组的操作,只不过这里多了一个top记录栈顶,其实就是相当于记录数组最后一个元素的下标。
栈的初始值
思考:空栈的时候,top的初始值应该是多少?
根据前面的介绍我们知道,top相当于记录数组最后一个元素的下标,那么我们的top的初始值设置为-1最为合适。