【3-1-5】设一个循环队列Q[maxSize]的队头指针为front,队尾指针为rear,队列最大容量为maxSize,除此之外该队列再没有其他数据成员,则该队列的队满条件是()。 A.Q.front==Q.rear B.Q.front+Q.rear>=maxSize C.Q.front==(Q.rear+1)%maxSize D.Q.rear==(Q.front+1)%maxSize

【3-1-5】设一个循环队列Q[maxSize]的队头指针为front,队尾指针为rear,队列最大容量为maxSize,除此之外该队列再没有其他数据成员,则该队列的队满条件是()。 A.Q.front==Q.rear B.Q.front+Q.rear>=maxSize C.Q.front==(Q.rear+1)%maxSize D.Q.rear==(Q.front+1)%maxSize


参考答案和解析
选 C 。既然不能附加任何其他数据成员,只能采用牺牲一个队列元素的整除取余的方式来区分队空和队满的条件。因此,选项 C 是合适的。选项 A 是判断队列是否空的条件,选项 B 和选项 D 都是干扰项。

相关考题:

设某循环队列的容量为 50 ,头指针 front=5( 指向队头元素的前一位置 ) ,尾指针 rear=29( 指向队尾元素 ) ,则该循环队列中共有 【 3 】 个元素。

( 2 )设某循环队列的容量为 50 , 如果头指针 front = 45 (指向队头元素的前一位置 ) ,尾指针 rear = 10 (指向队尾元素 ) ,则该循环队列中共有 【 2 】 个元素。

设数组data[0…m]作为循环队列sq的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为A.sq↑.front:=sq↑.front+1;B.sq↑.front:=(sq↑.front+1)%maxsize ;C.sq↑.rear:=(sq↑.rear+1)%maxsize ;D.sq↑.front:=(sq↑.front+1)%(maxsize+1);

设某循环队列的容量为50,头指针front=5(指向队头元素的前一位置),尾指针rear=9(指向队尾元素),则该循环队列中共有______个元素。

设数组data[0…m]作为循环队列S q的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为( )。A.S q↑.front:=S q十.front+1;B.S q↑.front:=(S q十.front+1)%maxsize;C.S q↑.rear:=(s q十.rear+1)%maxsize;D.S q↑.front:=(s q十.front+1)%(maxsize+1);

设数组data[0…m]作为循环队列s q的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为( )。A.S q↑.front:=s q↑.front+1;B.S q↑.front:=(S q↑.front+1)%maxsize;C.S q↑.rear:=(S q↑.rear+1)%maxsize;D.S q↑.front:=(s q↑.front+1)%(maxsize+1);

设某循环队列的容量为50,如果头指针front=15(指向队头元素的前-位置),尾指针rear=10(指向队尾元素),则该循环队列中共有元素个数为( )。A.5B.15C.35D.40

设循环队列的结构是: const int MaxSize=100; typedef int Data Type; typedef struct { DataType data[MaxSize]; int front, rear; }Queue; 若有一个Queue类型的队列Q,试问判断队列满的条件应是(33)。A.Q.front=Q.rear;B.Q.front-Q.rear==MaxSize;C.Q.front+Q.rear=MaxSize;D.Q.front==(Q.rear+1)%MaxSize;

设循环队列的结构如题33。若有一个Queue类型的队列Q,计算队列元素个数应该用(34)。A.(Q.rear-Q.front+ MaxSize)%MaxSize;B.Q.rear-Q.front+1;C.Q.rear-Q.front-1;D.Q.rear-Qfront;

设某循环队列的容量为50,头指针front=5(指向队头元素的前-位置),尾指针rear=29(指向队尾元素),则该循环队列中共有—________个元素。

循环队列qu的队空条件是()。A.(qu.rear+1)%MaxSize==(qu.front+1)%MaxSizeB.(qu.rear+1)%MaxSize-=qu.front+1C.(qu.rear+1)%MaxSize==qu.frontD.qu.rear==qu.front

在数组表示的循环队列中,front、rear分别为队列的头、尾指针,maxSize为数组的最大长度,队满的条件是()A、front=maxSizeB、(rear+1)%maxSize=frontC、rear=maxSizeD、rear=front

循环队列sq中,用数组elem存放数据元素,sq.front指示队头元素的前一个位置,sq.rear指示队尾元素的当前位置,队列的最大容量为MAXSIZE,则在队列未满时元素x入队列的主要操作为()。A、sq.rear= (sq.rear+1)mod MAXSIZE; sq.elem[sq.rear]=x;B、sq.elem[sq.rear]=x; sq.rear= (sq.rear+1)mod MAXSIZE;C、sq.front= (sq.front+1)mod MAXSIZE; sq.elem[sq.front]=x;D、sq.elem[sq.front]=x; sq.front= sq.front+1;

某循环队列的容量MAXSIZE=6,队头指针front=3,队尾指针rear=0,则该队列有()个元素。

循环队列的队首指针为front,队尾指针为rear,则队空的条件为()。

循环队列的最大存储空间为MaxSize=6,采用少用一个元素空间以有效地判断栈空或栈满,若队头指针front=4,当队尾指针rear=()时队满,队列中共有()个元素。

循环队列的最大存储空间为MaxSize=8,采用少用一个元素空间以有效的判断栈空或栈满,若队头指针front=4,则当队尾指针rear=()时,队列为空,当rear=()时,队列有6个元素。

循环队列的最大存储空间为MaxSize,队头指针为f,队尾指针为r,当()时表明队列已满。

设循环队列的头指针front指向队首元素,尾指针rear指向队尾元素后的一个空闲元素,队列的最大空间为MAXLEN,则队满标志为()

循环队列的最大存储空间为MaxSize,若队头指针front,队尾指针rear,采用少用一个存储空间以有效地判断栈空或栈满,队空的判定条件为()

填空题循环队列的最大存储空间为MaxSize=6,采用少用一个元素空间以有效地判断栈空或栈满,若队头指针front=4,当队尾指针rear=()时队满,队列中共有()个元素。

填空题循环队列的最大存储空间为MaxSize=8,采用少用一个元素空间以有效的判断栈空或栈满,若队头指针front=4,则当队尾指针rear=()时,队列为空,当rear=()时,队列有6个元素。

填空题循环队列的最大存储空间为MaxSize,队头指针为f,队尾指针为r,当()时表明队列已满。

填空题循环队列的最大存储空间为MaxSize,若队头指针front,队尾指针rear,采用少用一个存储空间以有效地判断栈空或栈满,队空的判定条件为()

填空题设循环队列的头指针front指向队首元素,尾指针rear指向队尾元素后的一个空闲元素,队列的最大空间为MAXLEN,则队满标志为()

填空题某循环队列的容量MAXSIZE=6,队头指针front=3,队尾指针rear=0,则该队列有()个元素。

单选题循环队列sq中,用数组elem存放数据元素,sq.front指示队头元素的前一个位置,sq.rear指示队尾元素的当前位置,队列的最大容量为MAXSIZE,则队列满的条件为()。Asq.front= sq.rearBsq.front= sq.rear+1C(sq.front +1)mod MAXSIZE= sq.rearD(sq.rear+1)mod MAXSIZE= sq.front

单选题在数组表示的循环队列中,front、rear分别为队列的头、尾指针,maxSize为数组的最大长度,队满的条件是()Afront=maxSizeB(rear+1)%maxSize=frontCrear=maxSizeDrear=front