某循环队列的容量为M,队头指针指向队头元素,队尾指针指向队尾元素之后,如下图所示

免费题库2022-08-02  58

问题 某循环队列的容量为M,队头指针指向队头元素,队尾指针指向队尾元素之后,如下图所示(M=8),则队列中的元素数目为 () (MOD表示整除取余运算)。A.rear – frontB.front – rearC.(rear –front + M) MOD MD.(front – rear + M) MOD M

选项 A.rear – front
B.front – rear
C.(rear –front + M) MOD M
D.(front – rear + M) MOD M

答案 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)MOD M 。
转载请注明原文地址:https://tihaiku.com/congyezige/2428095.html

最新回复(0)