跟着郝斌学数据结构(06)——队列(数组队列基本的一些问题)

数组队列或者说静态队列,一般来说都是循环队列。

1.静态队列为什么必须是循环队列?

如果我们按照传统的方式使用数组,队列的操作方式是:指向第一个节点的f和指向最后一个节点的下一个节点的r都只能增加或者减少,那么可能造成内存使用一遍之后就再也不能使用了,造成极大的浪费。而使用循环队列,则可以在f或者r到头的时候又回去这样循环起来。

2.循环队列需要几个参数确定及各参数的含义

两个参数:指向第一个节点的f和指向最后一个节点的下一个节点的r。这两个参数在不同的场合有不同的含义。

队列初始化:其值都是0

队列非空:队列的第一个节点和最后一个节点的下一个节点

队列为空:相等,不一定为0

3.入队的伪算法?

将值存入r代表的位置

错误的写法:r=r+1正确的写法:r=(r+1)%数组的长度

4.出队的伪算法?

f=(f+1)%数组的长度

5.如何判断循环队列是否为空?

r=f就表示为空

6.如何判断循环队列是否已满?

(r+1)%数组的长度==f

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值