抽象数据类型-队列

队列模型:
1.在表的末端插入元素(入队),在表的开头删除元素(出队),表的末端又叫队尾,表的开头又叫队头

队列实现:
1.数组实现:使用循环数组的方式来实现队列的插入和删除,具体实现如下--
1.1定义一个数组theArray、定义头部位置front和尾部位置back
1.2入队在队尾插入元素,即新元素放到back+1位置上,出队弹出队头元素,即弹出front位置上的元素,front位置向后移一位,即变为front+1
1.3当front或back到达数组的尾端,它就绕回到开头
1.4当back=front-1时,说明此时队列为空;当队列中存在theArray.length-1个元素说明队列已满
2.链表实现:使用双向链表的方式来实现队列的插入和删除,具体实现如下--
2.1定义一个双向链表节点Node,包含指向前一个节点的变量prev和指向后一个节点的变量next
2.2入队在双向链表的末尾插入元素,出队弹出双向链表头部元素
2.3当Node为null时说明队列为空,当双向链表的大小达到最大值(默认为2^31),说明队列已满

队列应用(简单):
1.排队论,适用于先进后出的使用场景,而且插入队列的元素不会轻易更改,不会撤销

参考:数据结构与算法分析

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值