数据结构---栈和队列

栈(Stack)

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

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

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

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

队列(Queue)

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

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

循环队列

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

相关推荐
共享家95273 分钟前
红黑树解析
数据结构·c++·算法
CircleMouse6 分钟前
springboot如何通过提供的注解方式来操作Redis
java·spring boot·redis·spring·mybatis
阿海打酱油10 分钟前
idea经常卡顿解决办法
java·ide·intellij-idea
君鼎20 分钟前
IO复用详解——C/C++
开发语言·c++
Clown9525 分钟前
go-zero(十八)结合Elasticsearch实现高效数据检索
开发语言·elasticsearch·golang
愚润求学25 分钟前
【Linux】动静态库的使用
linux·运维·服务器·开发语言·c++·笔记
bing_15827 分钟前
Spring Boot 项目中什么时候会抛出 FeignException?
java·spring boot·后端
写代码写到手抽筋35 分钟前
C++性能优化之访存优化(未完)
开发语言·c++
Dovis(誓平步青云)1 小时前
基于面向对象设计的C++日期推算引擎:精准高效的时间运算实现与运算重载工程化实践
开发语言·c++·经验分享·笔记
Java&Develop1 小时前
springboot + mysql8降低版本到 mysql5.7
java·spring boot·后端