某循环队列的存储空间为Q(1:m),初始状态为:front=rear=m。现经过一系列的入队操作和退队操作后,front=m-1,rear=m,则该循环队列中的元素个数为( )。

admin2020-01-10  28

问题 某循环队列的存储空间为Q(1:m),初始状态为:front=rear=m。现经过一系列的入队操作和退队操作后,front=m-1,rear=m,则该循环队列中的元素个数为(    )。

选项 A、m-1
B、1
C、m
D、0

答案B

解析 循环队列长度为m,由初始状态为front=rear=m可知此时循环队列为空。入队运算时,首先队尾指针(rear)进1(即rear+1),然后在rear指针指向的位置插入新元素。特别的,当队尾指针rear=m+1时,置rear=1。退队运算时,排头指针(front)进1(即front+1),然后删除front指针指向的位置上的元素,当排头指针front=m+1时,置front=1。从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素,则该循环队列中的元素个数为m-(m-1)=1。故选择B选项。
转载请注明原文地址:https://kaotiyun.com/show/yXCp777K
0

最新回复(0)