单选题 循环队列存放在一维数组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)
【正确答案】 A
【答案解析】[解析] 对于循环链表来说,队列空的条件是队头指针和队尾指针指向同一个位置,即end1==end2;队列满的条件是队尾指针指向队头指针的前一个位置,即end1==(end2+1)mod M。