☝☝☝ 软件工程考研独家平台
考软工 · 看CS优化狮
撰稿 | 康康哥
编辑 | 丽丽姐
本文由懂计算机、软件工程的博士师哥原创
双日练:NO.20200922
循环队列放在一维数组A[0…M-1]中,end1指向队头元素,end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。初始时为空。下列判断队空和队满的条件中,正确的是 ( )。
A.队空:end1 == end2;队满:end1 == (end2+1)mod M
B.队空:end1 == end2;队满:end2 == (end1+1)mod (M-1)
C.队空:end2 == (end1+1)mod M;队满:end1 == (end2+1)mod M
D. 队空:end1 == (end2+1)mod M;队满:end2 == (end1+1)mod (M-1)
本题考查:循环队列判断队空队满。
循环队列判断队满:Q.front== (Q.rear + 1) % MAXSIZE;
判断队空: Q.front== Q.rear;
将end1替换front,end2替换rear,因此得:
队空:end1 == end2;
队满:end1 == (end2+1)modM。
因此选A。
软工博士带你飞考软工 · 看CS优化狮