当前位置:   article > 正文

【初阶数据结构】——循环队列

【初阶数据结构】——循环队列

这篇文章我们来学习一下如何实现循环队列
那力扣上呢有一个对应的题我们可以来看一下:

1. 什么是循环队列?

在这里插入图片描述

循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。
在这里插入图片描述
循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。
要求我们实现的循环队列要有以下几个接口:
在这里插入图片描述
在这里插入图片描述

2. 结构的选择:数组 or 链表?

那下面要实现循环队列的话,我们采用哪种结构呢,数组还是链表呢?

我们假设循环队列的长度k(当然实现好之后k传几构造出来长度就是几)为4,我们来分析一下。

首先我们来分析一下用链表行不行

链表结构分析

那链表的话我们是不是正好可以用一个循环链表啊,因为我们现在要实现循环队列嘛:

搞一个循环单链表,循环队列长度为4,所以开4个结点。
在这里插入图片描述
看起来好像还挺合适的。
那现在结点上来直接就开好了,如何判空或者判满呢?

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/488256
推荐阅读
相关标签