数据结构---栈和队列

栈(Stack)

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

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

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

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

队列(Queue)

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

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

循环队列

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

相关推荐
尘心cx2 分钟前
数据结构-栈
数据结构
原野心存5 分钟前
java基础进阶——继承、多态、异常捕获(2)
java·java基础知识·java代码审计
学无止境\n6 分钟前
[C语言]指针和数组
c语言·数据结构·算法
进阶的架构师10 分钟前
互联网Java工程师面试题及答案整理(2024年最新版)
java·开发语言
黄俊懿10 分钟前
【深入理解SpringCloud微服务】手写实现各种限流算法——固定时间窗、滑动时间窗、令牌桶算法、漏桶算法
java·后端·算法·spring cloud·微服务·架构
易辰君11 分钟前
python爬虫 - 深入requests模块
开发语言·爬虫·python
木子020418 分钟前
java高并发场景RabbitMQ的使用
java·开发语言
无夜_19 分钟前
Prototype(原型模式)
开发语言·c++
看到请催我学习19 分钟前
内存缓存和硬盘缓存
开发语言·前端·javascript·vue.js·缓存·ecmascript
夜雨翦春韭30 分钟前
【代码随想录Day29】贪心算法Part03
java·数据结构·算法·leetcode·贪心算法