数据结构-栈、队列-队列
现有一个循环队列,其队头指针为 front,队尾指针为 rear,循环队列的总长度为 N,问怎么判断循环队列满了
A.front==rear
B.front==rear+1
C.front==rear%n
D.front==(rear+1)%n
正确答案是 D
杜行知
2021-12-15 23:00:00
这么久了终于弄明白这个问题
毛大军
2019-04-27 20:46:17
队满的意思就是rear往前挪一位,就和front重合,就很容易得出答案了
窦先生
2018-10-23 11:12:34
为什么不是B,指针为什么可以对一个常数求余,Thomas的算法导论写的清清楚楚就是B啊...
小可爱
2018-10-23 11:12:25
为了强制自己复习,每次碰到这种题都亲自写一遍:
一零计划
2018-10-23 11:12:12
花花
2018-10-23 11:11:59
正确答案D答案解析循环队列另设一个标志位以区别队列是空还是满,少用一个元素空间,约定以“队列头指针front在队尾指针rear的下一个位置上”作为队列“满”状态的标志。即:队空时: front=rear队满时: (rear+1)%maxsize=front这样就区别了当队空和队满时,front和rear都相等的情况
人生赢家
2018-10-23 11:11:33
D 循环队列总有一位不存储数据用来标示队列满,如果rear指向这个位,则说明其队列已满,那么循环的来想这个位的下一位就是front,即front= rear+1,由于是循环队列所以再得Mod n
加载更多