顺序队列的三种状态
队空
qu.front == qu.rear
如图1所示,当顺序队列队空时,队头指针front和队尾指针rear相同;注意front和rear不是真正的指针,而是int型变量,代表元素下标。
注:随着出队入队的操作,当出现队空状态时,队头队尾指针不一定指向第一个元素。队满
qu.front == 0;qu.rear == max+1一般状态
qu.front == 0;qu.rear == n;//此时队内元素总数为n-1
循环队列的三种状态
队空
qu.front == qu.rear
如图所示,当循环队列队空时,队头指针front和队尾指针rear相同。队满
qu.front == qu.rear
如图所示,当循环队列队满时,队头指针front和队尾指针rear相同。一般状态
qu.front == 0;qu.rear == n; //队内元素总数为n-1
带链队列的三种状态
一般状态
在带链队列中,front和rear是真正的指针,指向节点的指针。队空
lqu->front == NULL 或 lqu->rear == NULL 即当带链队列为空时,队头指针front和队尾指针rear相同(都为空)。队内只有一个元素
lqu->front == lqu->rear
与队空的情况相似,当带链队列只有一个元素时,队头指针front和队尾指针rear相同。队满
带链队列不存在队满的情况。