为了账号安全,请及时绑定邮箱和手机立即绑定

以下数据结构,为什么这么判断,不太理解啊?

以下数据结构,为什么这么判断,不太理解啊?

饮歌长啸 2022-06-11 11:07:32
题目:将队列存储在下标范围0到(maxqueue-1)的数组中,队列满时数组留有一个空位,试写出Queue类的定义,并给出队空和队满的条件。 答案: 队空条件为(rear+1)%maxqueue=front 队满条件为(rear+2)%maxqueue=front 为什么这么判断,不太理解啊,求助大神。
查看完整描述

1 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

用到取模运算,可知这是循环队列,题目没有说明是循环队列,不够严谨。
(1)队列空的条件是rear==front,出队列时front
=
(front+1)%maxqueue,如果此时队列中只有一个元素,则front指向的就与rear的相等,下次出队列时要先判定是否为空,就是根据条件rear==front
(2)队列满时条件判定为(rear+1)%maxqueue
==
front,因为每次入队列后,rear都会向前移动一格,即rear指向的空位其值是不放数据的。

查看完整回答
反对 回复 2022-06-14
  • 1 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信