看图理解基于数组的队列

前言

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

队列

队列(queue)是一种运算受限的线性表,经过该线性表存储的元素具备顺序性。它的插入操做只被容许在表的后端,而删除操做只被容许在表的前端。进行插入操做的端称为队尾,而进行删除操做的端则称为队头。mysql

队列中的数据以先进先出(First In First Out,即FIFO)的方式进出队列。算法

队列的实现

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

实现的四要素分别是数组、队头(head)指针、队尾(tail)指针以及队列操做集。其中数组用于存放元素,队头指针用于指引队头位置,队尾指针用于指引队尾位置,队列核心操做为入队和出队。此外,队列存放的元素数量不能超过数组的长度。后端

image

enqueue

"the","monster","is","coming"四个字符串分别进行入队操做,数组

image

image

image

image

dequeue

对队列中进行两次出队操做,网络

image

image

-------------推荐阅读------------数据结构

个人开源项目汇总(机器&深度学习、NLP、网络IO、AIML、mysql协议、chatbot)并发

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

2018汇总数据结构算法篇

2018汇总机器学习篇

2018汇总Java深度篇

2018汇总天然语言处理篇

2018汇总深度学习篇

2018汇总JDK源码篇

2018汇总Java并发核心篇

2018汇总读书篇


跟我交流,向我提问:

欢迎关注:

相关文章
相关标签/搜索