当前位置: 首页 > news >正文

浅谈线性表——队列

文章目录

  • 一、什么是队列?
  • 二、队列底层
  • 三、自我实现一个队列
    • 3.1、链式存储
      • 3.1.1、单向链表实现队列的实现代码
      • 3.1.2、双向链表实现队列的实现代码
    • 3.2、顺序存储
      • 3.2.1、循环队列的实现代码

一、什么是队列?

队列是只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表。其具有先进先出的特点。

入队列:进行插入操作的一端称为队尾
出队列:进行删除操作的一端称为队头

队列有:队列、双端队列、循环队列、阻塞队列…

在这里插入图片描述

二、队列底层

在java中,队列Queue是一个接口,LinkedList集合类实现了Queue接口,因此队列底层其实是一个LinkedList。

队列Deque叫做双端队列,也是一个接口,Deque接口实现了Queue接口。双端队列的队尾可以入队,也可以出队;队头可以出队,也可以入队。而队列Queue只能在队尾入队,队头出队。

在这里插入图片描述

三、自我实现一个队列

队列是线性表,因此既可以链式存储,又可以顺序存储:

3.1、链式存储

链式存储:使用单向链表自我实现一个队列。
在这里插入图片描述

3.1.1、单向链表实现队列的实现代码

队列的链式存储——单向链表实现队列

3.1.2、双向链表实现队列的实现代码

队列的链式存储——双向链表实现队列

3.2、顺序存储

在这里插入图片描述
循环队列:
在这里插入图片描述

3.2.1、循环队列的实现代码

循环队列

http://www.lryc.cn/news/438071.html

相关文章:

  • 2-94 基于matlab的最佳维纳滤波器的盲解卷积算法
  • 【提示词】浅谈GPT等大模型中的Prompt
  • 最强AI照片说话Windows一体包下载地址,口型合成音频驱动图片,免安装,下载即用
  • Windows下使用cmake编译OpenCV
  • 设计模式---中介者模式
  • 六氟化硫密度微水在线监测配套5孔M12格兰头航空插头插座
  • linux -L4.linux 暂停和启动进程
  • Java多线程编程-基础篇
  • 【极限、数学】 NOIP 2018 提高组初赛试题 第 7 题详解(线段长度期望)
  • 《论网络安全体系设计》写作框架,软考高级系统架构设计师
  • 这款开源的通用PDF处理神器,功能炸裂!
  • RabbitMQ延迟消息——DelayExchange插件
  • 【系统规划与管理师】【案例分析】【考点】【答案篇】第5章 IT服务部署实施
  • 华为云服务器的数据库部署及管理
  • C#【必备技能篇】替换一个字节(byte)中连续几位(bit)的内容
  • roboguide将tp程序转化为LS文本格式的方法
  • 基于SpringBoot+Vue+MySQL的流浪猫狗宠物救助救援网站管理系统
  • I/O 多路复用:`select`、`poll`、`epoll` 和 `kqueue` 的区别与示例
  • 大数据之Flink(三)
  • 【HCIA-Datacom】IPv4地址介绍
  • maven父子工程多模块如何管理统一的版本号?
  • JavaScript --函数的作用域(全局和局部)
  • 贪吃蛇项目实现(C语言)——附源码
  • 【C++】42道面试经典问题总结
  • php 实现JWT
  • vue table id一样的列合并
  • xshell密钥方式连接阿里云Linux
  • Wni11 下 WSL 安装 CentOS
  • ROADM(可重构光分插复用器)-介绍
  • HarmonyOS开发之路由跳转