版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangyangzhizhou/article/details/88098195
前言
推出一个新系列,《看图轻松理解数据结构和算法》,主要使用图片来描述常见的数据结构和算法,轻松阅读并理解掌握。本系列包括各种堆、各种队列、各种列表、各种树、各种图、各种排序等等几十篇的样子。
队列
队列(queue)是一种运算受限的线性表,通过该线性表存储的元素具有顺序性。它的插入操作只被允许在表的后端,而删除操作只被允许在表的前端。进行插入操作的端称为队尾,而进行删除操作的端则称为队头。
队列中的数据以先进先出(First In First Out,即FIFO)的方式进出队列。
队列的实现
队列的实现方式有多种方式,主要是使用不同的结构来存储队列元素,比如使用数组、单向链表、双向列表等。这里看数组方式的实现。
实现的四要素分别是数组、队头(head)指针、队尾(tail)指针以及队列操作集。其中数组用于存放元素,队头指针用于指引队头位置,队尾指针用于指引队尾位置,队列核心操作为入队和出队。此外,队列存放的元素数量不能超过数组的长度。
enqueue
将 "the","monster","is","coming"
四个字符串分别进行入队操作,
扫描二维码关注公众号,回复:
5404962 查看本文章
dequeue
对队列中进行两次出队操作,
-------------推荐阅读------------
我的开源项目汇总(机器&深度学习、NLP、网络IO、AIML、mysql协议、chatbot)
跟我交流,向我提问:
欢迎关注: