设循环队列的元素存放在一维数组Q[30]中,队列非空时,front指示队列首结点的前一个位置,rear指示队列尾结点。如果队列中元素的个数为10,front的值为25,则rear应指向的元素是()

设循环队列的元素存放在一维数组Q[30]中,队列非空时,front指示队列首结点的前一个位置,rear指示队列尾结点。如果队列中元素的个数为10,front的值为25,则rear应指向的元素是()


A、

Q[4]


B、

Q[5]


C、

Q[14]


D、

Q[15]


【正确答案】:B
【题目解析】:

将存储队列元素的一维数组首尾相接,形成一个环状,这样的队列称为循环队列。当SQ.rear=maxsize-1时,只要数组的低下标端有空闲空间,仍可进行入队列运算。此时只需令SQ.rear=0,即把SQ.data[0]作为新的队列尾,并将入队的元素置入此单元中。

故本题中,10个元素分别占26,27,28,29,0,1,2,3,4,5这10个位置,rear指示队列尾结点,故rear指向Q[5]。


Top