数据结构:队列

和栈一样,队列也是表。但是和栈不同的是队列的插入在一端进行,删除则是在另一端进行。
队列的基本操作是enqueue(入队),它是在表的末端(队尾)插入一个元素;dequeue(出队),它是删除(并返回)表的开头(队头)的元素。先进先出。
队列的数组实现:
成员变量

  1. front :记录队头位置
  2. back :记录队尾位置
  3. currentSize :记录队长
    队列的操作:
    x元素入队enqueue,将currentSize 和 back 增1,然后置theArray[back] = x。要出队一个元素,可以将返回值置为theArray[front], 将currentSize减1,再将front增1。
    在多次入队之后,可能back到达数组的最后一个下标,但是由于存在出队的操作,因此,我们实际的队长或许并不是很大,这里我们可以通过循环数组来实现回绕以达到对数组空间的充分利用。因此当enqueue次数不大于队列的大小的情况下,使用回绕是没有必要的。

队列的应用
1. 打印机作业机制
2. 售票口排队

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值