数据结构-队列

1.队列的概念

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

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

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

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

2.队列的结构

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

3.队列的实现

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

4.循环队列

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

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

空间大小是固定的。

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

相关推荐
地平线开发者12 小时前
征程6工具链模型X86推理方式说明
算法
地平线开发者12 小时前
【征程6】校准量化中HistogramObserver解析
算法
二十雨辰13 小时前
[Java]-Spring面试题
java·开发语言
蔬菜_13 小时前
前端转全栈-day5(数组、list、set)
java·前端·数据结构·list
萧瑟余晖13 小时前
Java深入解析篇二十二之虚拟线程
java·开发语言
OuO-213 小时前
笔试强训 Day 34:ISBN 号码、kotori 和迷宫、矩阵最长递增路径
java·算法·矩阵
油丶酸萝卜别吃14 小时前
Java 集合类全景介绍
java·开发语言
水饺编程14 小时前
AT&T 汇编语言学习笔记开篇语
c语言·汇编·c++
Iruoyaoxh14 小时前
类和对象~
开发语言·c++
程序喵大人14 小时前
【C++进阶】STL算法与函数对象 - 04 find、count和any_of把查询写成意图
开发语言·c++·算法