数据结构---栈和队列

栈(Stack)

栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈

顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。

压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。

出栈:栈的删除操作叫做出栈。出数据在栈顶。

队列(Queue)

队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(FirstIn First Out) 入队列:进行插入操作的一端称为队尾(Tail/Rear) 出队列:进行删除操作的一端称为队头(Head/Front)

在Java中,Queue是个接口,底层是通过链表实现的

循环队列

实际中我们有时还会使用一种队列叫循环队列。如操作系统课程讲解生产者消费者模型时可以就会使用循环队列。环形队列通常使用数组实现。

相关推荐
Tiger Z2 分钟前
R 语言科研绘图第 11 期 --- 柱状图-基础
开发语言·程序人生·r语言·贴图
岁月如歌,青春不败4 分钟前
R语言森林生态系统结构、功能与稳定性分析与可视化
开发语言·人工智能·python·深度学习·r语言
Q_192849990632 分钟前
基于Spring Boot的工商局商家管理系统
java·spring boot·后端
m0_7482326443 分钟前
[MySQL报错]关于发生net start mysql 服务无法启动,服务没有报告任何错误的五种解决方案。
java
Godlovesea1 小时前
ubuntu控制器多网口配置
开发语言·php
小学鸡!1 小时前
idea报错:There is not enough memory to perform the requested operation.
java·intellij-idea
web136885658711 小时前
rust教程 第一章 —— 初识rust
开发语言·后端·rust
songroom1 小时前
Rust : tokio中select!
开发语言·后端·rust
dubochao_xinxi1 小时前
QT5 在某些系统出现qt.qpa.xcb: could not connect
开发语言·qt
blueman88881 小时前
QWidget应用封装为qt插件,供其他qt应用调用
开发语言·qt