数据结构-Queue队列

1.概念

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

2.队列的种类:

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

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值