数据结构-队列

1.队列的概念

队列:是一种特殊的线性表,只允许在一端进行数据的插入操作,在另一端进行数据的删除操作。

队列的特性是队里的元素都遵循先进先出FIFO(First In First Out)的原则。

入队列:进行数据插入的一端被称为队尾。

出队列:进行数据删除的一端被称为队头。

2.队列的结构

队列可以用数组和链表的结构实现,这里我们使用链表的结构实现更优一些,因为使用数组的话,队头的删除数据效率较低。

3.队列的实现

数据结构: 手撕数据结构 - Gitee.com

4.循环队列

循环队列可以使用数组和链表来实现,之后的生产者消费者模型会用到循环队列。

操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为"环形缓冲器"。

空间大小是固定的。

循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。

相关推荐
c2385642 分钟前
第二篇:《测试指挥官:可视化单题自测框架(含 assert 实操)》
java·数据库·c++·算法·安全性测试
辞旧 lekkk1 小时前
【Redis初阶】常见数据类型
开发语言·数据库·c++·redis·学习·缓存·bootstrap
帅次2 小时前
Kotlin 与 Java 互操作:混合工程里的平台类型与 API 边界
java·开发语言·kotlin·suspend·nullable
六点_dn2 小时前
Linux学习笔记-printf命令
linux·运维·算法
遥感知识服务2 小时前
Sentinel-1 + DEM + FwDET + 随机森林:从快速水深初估到多因子误差修正
算法·随机森林·sentinel
来一碗刘肉面3 小时前
顺序表与链表的比较
数据结构·算法·链表
alphaTao3 小时前
LeetCode 每日一题 2026/7/13-2026/7/19
算法·leetcode
nnerddboy3 小时前
脑电信号处理实战 03 | 运动想象脑机接口入门:ERD/ERS、CSP 空间滤波与左右拳想象解码
算法·信号处理
dtq04243 小时前
C语言-结构体详解
c语言·开发语言·学习
梅雅达编程笔记3 小时前
编程启蒙|Scratch 转 Python 系列第9天:字典/哈希表积木双向对照(AI大模型参数配置表实战)
开发语言·人工智能·python·numpy·pandas