队列(Queue)也是一种常见的线性表,它和栈相比有以下不同:
- 队列可以在表的两端进行操作。栈只能在栈顶进行插入和删除。
- 两端允许操作的类型不一样:可以进行删除的一端称为队头,这种操作也叫出队;可以进行插入的一端称为队尾,这种操作也叫入队。总的来说,队头只能出队,队尾只能入队。
队列的特点:先进先出(First in first out)或者后进后出(Last in last out)。
队列的示意图:
模拟队列这种数据结构并不是什么难事,但会遇到一些问题,如:
假溢出
队列中明明还有空间,却因为rear已经指向最后,造成无法入队问题,这是假溢出。
解决办法是:使用链式存储,这显然可以。在顺序存储时,我们常见的解决办法是把它首尾相接,构成循环队列,这可以充分利用队列的存储

队列作为线性表的一种,与栈不同,它支持在队头进行删除(出队)和队尾进行插入(入队)。本文将探讨顺序循环队列的原理,包括如何利用标记区分队头和队尾,以及如何处理队列空和满的状态。出队时,front指针会向前移动;入队时,rear指针会移动至下一个位置。判断队列空和满的条件分别是front==rear和(rear+1)%MAXSIZE==front。
最低0.47元/天 解锁文章
1551

被折叠的 条评论
为什么被折叠?



