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

前言

推出一个新系列,《看图轻松理解数据结构和算法》,主要使用图片来描述常见的数据结构和算法,轻松阅读并理解掌握。本系列包括各类堆、各类队列、各类列表、各类树、各类图、各类排序等等几十篇的样子。mysql

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

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

栈的实现

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

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

image

push

"the","monster","is","coming"四个字符串分别进行 push 操做,数据结构

image

image

image

image

pop

对栈中进行两次 pop 操做,并发

image

image

-------------推荐阅读------------机器学习

个人开源项目汇总(机器&深度学习、NLP、网络IO、AIML、mysql协议、chatbot)数据结构和算法

为何写《Tomcat内核设计剖析》学习

个人2017文章汇总——机器学习篇

个人2017文章汇总——Java及中间件

个人2017文章汇总——深度学习篇

个人2017文章汇总——JDK源码篇

个人2017文章汇总——天然语言处理篇

个人2017文章汇总——Java并发篇


跟我交流,向我提问:

欢迎关注:

相关文章
相关标签/搜索