循环队列:判断队列空和满的3种方法

时间:2024-03-29 09:38:54

一.少用一个存储位置


第一种情况:
循环队列:判断队列空和满的3种方法
当队列为空时条件:rear == front

当队列满时条件为:rear+1 == front
  
  上述方式对于上述图是适用的,但如果出现了有下标标识,上述判断条件就不适用了。比如下图有下标了,当队列满时,显然条件就不能判断了,就要用到另一种判断。

第二种情况:
循环队列:判断队列空和满的3种方法当队列为空时条件:rear == front

当队列满时条件为:(rear+1)% maxsize == front


二.设置一个标记位


设置初始标记: boolean flag=false

当入队列时,让rear往后移动,让flag=true
当出队列时,让front往后移动,让flag=false

当队列为空时: rear == front && flag==false
当队列为满时: rear == front && flag == true


三.计数count——队列中有效元素个数


队列为空时,count == 0

当有元素入队时,count++,当count和队列的maxsize相等时,代表队列已满