己知循环队列存储在一维数组A[0…n-1]中。

本文解析了如何在循环队列中,当队列初始为空且要求第一个元素位于A[0]时,front和rear的正确初始值。关键点在于理解队头和队尾的指向规则以及入队操作的影响。

【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]。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值