博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构-Queue队列
阅读量:6795 次
发布时间:2019-06-26

本文共 714 字,大约阅读时间需要 2 分钟。

1.概念

与栈类似,队列(queue)也是一种限制访问端口的线性表。 队列的元素只能从表的一端插入,从表的另一端删除。按照习惯,通常会把只允许删除的一端称为队列的头-队头(front),把删除操作成为出队;而把表的另一端称为队列的尾-队尾(rear),这一端只允许进行插入操作,并将其操作称为入队。 举例:如同现实生活中的排队购物一样,在没有“插队”的情况下,新来的成员总是加入到队列的尾部,而每次取出的成员都是队列的前端,即先来先服务,因此队列通常也被称为先进先出(first in first out,FIFO)线性表。

2.队列的种类:

单队列(单队列就是常见的队列,每次添加元素时,都是添加到队尾,存在“假溢出”的问题也就是明明有位置却不能添加的情况)

顺序队列:用顺序的存储结构来实现队列就形成队列。与顺序表一样,顺序队列需要分配一块连续的区域来存储队列的元素,需要事先定义队列的大小。与栈类似,顺序队列也存在溢出问题,队列满时入队产生上溢现象,而当队列为空时出队会产生下溢现象。在队列出现上溢现象时,如果需要继续操作,可以考虑为队列适当开辟新的存储空间。

循环队列(避免了“假溢出”的问题):解决假溢出的方法。

3.Java 集合框架中的队列 Queue

Java 集合中的 Queue 继承自 Collection 接口 ,Deque, LinkedList, PriorityQueue, BlockingQueue 等类都实现了它。 Queue 用来存放 等待处理元素 的集合,这种场景一般用于缓冲、并发访问。 除了继承 Collection 接口的一些方法,Queue 还添加了额外的 添加、删除、查询操作。

转载地址:http://lvggo.baihongyu.com/

你可能感兴趣的文章
distinct 的应用
查看>>
图形数据库、NOSQL和Neo4j(转载)
查看>>
使用xtrabackup进行Mysql不锁表主从复制
查看>>
Weblogic 共享库部署
查看>>
简述Ubuntu Server修改IP/DNS
查看>>
Word Count Example of Hadoop V1.0 – Mapper的实现
查看>>
CountDownLatch和Cyclicbarrier概念、区别及原理
查看>>
linux网址
查看>>
部署Rap服务记录
查看>>
cent os下编译安装php mongodb扩展教程
查看>>
表单radio点击,取消按钮
查看>>
vuex之module-模块组(六)
查看>>
(二)SpringMVC学习笔记-HelloWorld
查看>>
Centos 6.5下安装升级Python3.3.5
查看>>
MyBatis学习总结(五)——实现关联表查询
查看>>
Spring MVC常用注解说明
查看>>
resin+Apache 整合安装JSP论坛
查看>>
jquery prop()和attr()方法 (总结笔记)
查看>>
Windows蓝屏了怎么办?
查看>>
Ubuntu/Linux常用命令
查看>>