循环队列中sq->front==sq->rear无法判断“队满”和“队空”,可用下面哪种方法解决该问题呢?( )
A: sq->front=sq->rear=-1;
B: 附设一个存储队中元素个数的变量num,当num==0时队空,当num==MAXSIZE时为队满。
C: sq->front=sq->rear=MAXSIZE;
D: sq->front=-1;为“队空” sq->rear=MAXSIZE;为“队满”
A: sq->front=sq->rear=-1;
B: 附设一个存储队中元素个数的变量num,当num==0时队空,当num==MAXSIZE时为队满。
C: sq->front=sq->rear=MAXSIZE;
D: sq->front=-1;为“队空” sq->rear=MAXSIZE;为“队满”
举一反三
- 循环队列Sq是满队列的条件是( )。 A: (Sq->rear+1)%maxsize==Sq->front B: Sq->rear==Sq->front C: Sq->rear==0 D: Sq->front==0
- 设数组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);
- 初始化一个空间大小为5的循环队列Sq后,Sq->front的值是()。 A: 0 B: 不定 C: 不再改变 D: 1
- 顺序存储的循环队列sq中,假定front和rear分别为队头指针和队尾指针,则出队操作为( )。
- 设数组Data[0..m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则出队操作的语句为()。 A: front=front+1 B: front=(front+1)%m C: rear=(rear+1)%m D: front=(front+1)%(m+1)