第三章 队列

队列

定义:是一种限定性的线性表,它只允许在表的一端插入元素,而在另一端删除元素,所以队列具有“先进先出”的特性。

注意:简单队列可能会出现假溢出或假满的问题。

循环队列

        在非空循环队列中,队头指针始终指向当前的队头指针,而队尾指针始终指向真正队尾元素后面的单元。

队列“满”的条件:

(rear+1)%MAXSIZE==front

双端队列

定义:允许两端都可以进行入队和出队操作的队列(不受限)。

        输出受限的双端队列:允许一端进行插入和删除,但在另一端只允许插入的双端队列称为输出受限的双端队列。

        输入受限的双端队列:允许一端进行插入和删除,但在另一端只允许删除的双端队列称为输出受限的双端队列。

例:若以1234作为双端队列的输入队列,既不能由输入受限的双端队列得到,也不能由输出受限的双端队列得到的输出队列的是()。

A.4213        B.4231        C.4132        D.1234

答案:B

链队

一个同时带有队头指针和队尾指针的单链表。

     循环队列和链式队列的比较

        1)时间性能比较

                循环队列和链式队列基本操作的算法时间都是O(1)。

                循环队列是事先申请好空间,使用期间不释放;

                链式队列是每次申请和释放结点都会存在一些时间开销。

        2)空间性能比较

                循环队列必须要有一个固定的长度,所以就有了存储元素个数和空间浪费的问题。

队列的应用

主要在层次遍历中,另外队列应用于计算机系统中可解决主机与外部设备之间速度不匹配的问题和多用户引起的资源竞争问题。 

利用队列打印杨辉三角形,那就先看看大佬咋写的吧,后续我也会自己来啃一啃...

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

isxhyeah

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值