看图轻松理解数据结构与算法系列(基于数组的栈)

作者:超人汪小建(seaboat)

出处:https://blog.csdn.net/wangyangzhizhou/column/info/25184/2


栈是一种线性存储结构且运算受限的线性表,它的插入和删除运算操作被限制在表的一端,该端称为栈顶,而另外一端则称为栈底。

栈中的数据以后进先出(Last In First Out 即LIFO)方式进出栈。

栈的实现

栈的实现方式有多种方式,主要是使用不同的结构来存储栈元素,比如使用数组、单向链表、双向列表等。这里看数组方式的实现。

实现的主要三要素是数组、当前栈顶下标以及栈操作集。数组用于存放元素,当前栈顶下标用于指引操作的位置,栈核心操作为push和pop,即进栈和出栈。栈存放的元素不能超过数组的长度。

image

push

"the","monster","is","coming"四个字符串分别进行 push 操作,

image

image

image

image

pop

对栈中进行两次 pop 操作,

image

image

赞(0) 打赏

如未加特殊说明,此网站文章均为原创,转载必须注明出处。Java 技术驿站 » 看图轻松理解数据结构与算法系列(基于数组的栈)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

关注【Java 技术驿站】公众号,每天早上 8:10 为你推送一篇技术文章

扫描二维码关注我!


关注【Java 技术驿站】公众号 回复 “VIP”,获取 VIP 地址永久关闭弹出窗口

免费获取资源

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏