22问答网
所有问题
判定循环队列满的条件为什么不是q->front==q->rear+1而是q->front==(q->rear+1)%maxsize?
如题所述
举报该问题
推荐答案 推荐于2017-10-03
因为是循环队列,循环队列的思想是如果队头有空余的位置,则可以把数据插入到队头,从而是一个圈
q->front==q->rear+1明显是一个判定条件,判定当前队列是否已满,当当前队列q->front正好为0,q->rear为(maxsize-1,即整个队列的最后一个),q->rear+1就溢出了,(q->rear+1)%maxsize正好就是0,从而可以判断front和rear+1是不是同一个位置来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://22.wendadaohang.com/zd/20CXC6X60.html
相似回答
判断
一
个
循环队列q
最多元素为m个,
满队列的条件是什么
答:
有front和rear时,尾指针指向队尾,用m--,当front等于rear时,判断m是否为0。队
满条件是
元素个数为m0。由于约定满队时队首指针与队尾指针相差1,所以不必再减1了,应当选A。当然,更正确的答案应该取模,即:QU->
front = = (Q
U->
rear+1
)% m0。
C语言中
循环队列的
队满和队空的判断
条件
各是什么?有
什么不
同?
答:
队满时: Q.
front == (Q
.
rear + 1
) % MAXSIZE
;front
指向队首元素,rear指向队尾元素的下一个元素。maxsize是队列长度。
大家正在搜
相关问题
如何判断一个非循环队列满(用Q->front与Q->rear...
在数据结构入队与出队的算法中,为什么Q->rear=(Q->...
设循环队列的存储空间为Q(1:35),初始状态为front=...
数据结构中,循环队列有一条语句Q.base[Q.rear]=...
循环队列最后一个元素无法输出
C语言中循环队列的队满和队空的判断条件各是什么?有什么不同?
数据结构((Q.rear+1)%MAXQSIZE==Q.fr...
为什么循环队列队满的是(rear+1)%max_queue_...