【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
见到这道题,第一时间没有注意到“队列非空时,front和rear分别指向队头元素和队尾元素。”这句话,按照顺序循环队列的思路选择了d,其实仔细看会发现,如果还要在队列为空时遵守rear==front,显然在放入一个数据x的时候这样操作的话data[++rear]=x,那么不符合题目都指向各自的头尾。,所以为了遵守他的规律我们在推出rear=n-1的时候不能根据相等逆推front,而是应该根据题目指向的限制得到front。想要都指向0的元素,那么front只能呆在0。