单选题 某循环队列的存储空间为Q(1:m),初始状态为front=rear=m。现经过一系列的人队操作和退队操作后,front=m,rear=m-1,则该循环队列中的元素个数为______。
【正确答案】 A
【答案解析】[解析] 循环队列长度为m,由初始状态为front=rear=m,可知此时循环队列为空。入队运算时,首先队尾指针进1(即rear+1),然后在rear指针指向的位置插入新元素。特别地,当队尾指针rear=m+1时置rear=1。退队运算时,排头指针进1(即front+1),然后删除front指针指向的位置上的元素,当排头指针front=m+1时置front=1。从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。如果rear-front>0,则队列中的元素个数为rear-front个;如果rear-front<0,则队列中的元素个数为rear-front+m。本题中m-1<m,即rear-front<0,则该循环队列中的元素个数为(m-1)-m+m=m-1。故选A。