【2011年全国试题3】已知循环队列存储在一维数组A[0…n-1],且队列非空时,front和rear分别指向队头元素和队尾元素。若初始时队列为空,且要求第一个进入队列的元素存储在A[0]处,则初始时front和rear的值分别是(B)
A. 0, 0
B. 0, n-1
C. n-1, 0
D. n-1, n-1
要求第一个进入队列的元素存储在A[0],故初始时front指向A[0]。(front指针决定第一个元素入队位置,且入队操作不会改变front指针)
又因为队列非空时,front和rear分别指向队头元素和队尾元素。第一个元素入队后,此时队列只有一个元素,根据题意,rear也指向A[0]。
也就是说第一个元素入队后front和rear是同时指向A[0]这个位置。
又因为入队操作会使rear值+1(向后移动一个位置),这里是循环队列,故第一个元素入队之前rear指向A[n-1]。
本文解析了如何在循环队列中,当队列初始为空且要求第一个元素位于A[0]时,front和rear的正确初始值。关键点在于理解队头和队尾的指向规则以及入队操作的影响。

2299

被折叠的 条评论
为什么被折叠?



