某循环队列的容量为M,队头指针指向队头元素,队尾指针指向队尾元素之后,如图 8-8所示(M=8),则队列中的元素数目为______(MOD表示整除取余运算)。

admin2019-05-23  15

问题 某循环队列的容量为M,队头指针指向队头元素,队尾指针指向队尾元素之后,如图 8-8所示(M=8),则队列中的元素数目为______(MOD表示整除取余运算)。

选项 A、rear-front
B、front-rear
C、(rear-front+M)MODM
D、(front-rear+M)MODM

答案C

解析 队列是仅在表头删除元素、在表尾插入元素的操作受限的线性表,其特点是先入先出。队列采用顺序存储结构(一维数组,顺序队列)时,为了降低运算的复杂度,元素入队时,只需修改队尾指针rear(rear+1→rear);元素出队时,只需修改队头指针front(front+1→front)。由于顺序队列的存储空间是提前设定的,所以队尾指针会有一个上限值,当队尾指针达到其上限时,就不能只通过修改队尾指针来实现新元素的入队操作了。此时,可将顺序队列假想成一个环状结构,称为循环队列。队列容量为M时,队头指针front和队尾指针rear的值循环地在0~M-1之间变化,当rear>front时,队列中元素数目为rear-front;当rear<front时,队列中元素数目为rear-front+M。综上,队列中元素数目为(rear-front+M)MODM。本题正确答案为选项C。
转载请注明原文地址:https://jikaoti.com/ti/vRL7FFFM
0

最新回复(0)