本文介绍: 检查循环队列是否为空:在初始化时,我们将front和back都设为0为最开始的位置,每次放入数据,back都会往后移动,而出队的话front就会往后移,当front移动到back位置时,队就空了,即当front=back时,队列就为空了。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。定义多一个空间,当往里面放数据时,back不断向后移动,如图队列有效长度为5,队满的情况下,back是不存放数据的,此时发现只要back下一个为front,队就满了。
题目描述
设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。
循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。
思路分析
循环队列与普通队列相比,在于它在逻辑上是环形的,空间是固定的, 所以就不能像普通队列一样去满队时扩容,而是要提前开辟好所用的空间。
针对上述的所有功能,我们先从判断队满和队空进行解释,这是循环队列的核心。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。