美文网首页@IT·互联网
4.队列与双端队列

4.队列与双端队列

作者: KaelQ | 来源:发表于2016-08-07 21:45 被阅读1224次

1.队列概述

  • 队列(queue)是一种是相对于栈的一种数据结构,它是先进先出(First In First Out)。
    它只可以在尾部添加元素。


    队列
  • 双端队列(deque double ended queue(双端队列))是一种相对于队列的一种数据结构。它可以在尾部和头部插入、移除和获取。
    双端队列

2.队列方法

  • java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。
方法 抛出异常 返回值
插入 add() offer()
删除 remove() poll()
查询 element() peek()
  • java.util.Deque接口,用以支持双端队列的常见操作。该接口扩展了java.util.Queue接口。

|方法|头部抛出异常|尾部抛出异常 |头部返回值|尾部返回值|
|-|-|-|
|插入|addFirst()|offerFirst()|addLast()|offerLast()|
|删除|removeFirst()|pollFirst()|removeLast()|pollLast()|
|查询|getFirst()|peekFirst()|getLast()|peekLast()|

  • LinkedList是一个继承于AbstractSequentialList的双向链表。
    使用LinkedList实现Queue接口来表示队列。
    使用LinkedList实现Deque接口来表示双向队列。
  • Queue<String>queue=newLinkedList<String>();
  • Deque<String> deque = new LinkedList<String>();

3.有意思的例子

  • 怎样用栈来实现一个队列?
    答:使用两个栈A和B,A栈将数据正常进栈,然后出栈进入B栈,从B栈出来的数据就是队列的数据。


相关文章

  • 7.双端队列Deque

    目录:1.双端队列的定义2.双端队列的图解3.双端队列定义操作4.双端队列的实现 1.双端队列的定义 2.双端队列...

  • 4.队列与双端队列

    1.队列概述 队列(queue)是一种是相对于栈的一种数据结构,它是先进先出(First In First Out...

  • 双端队列

    双端队列 双端队列是与队列类似的项的有序集合。双端队列有两个端部,首部和尾部,并且项在集合中保持不变。双端队不同的...

  • 数据结构-队列(Queue)-FIFO

    数据结构-队列(Queue)-FIFO 队列的接口设计 双端队列-Deque 循环队列-CircleQueue 双...

  • 数据结构与算法之队列(五)

    目录 队列简介队列的接口设计用栈实现队列双端队列实现循环队列实现循环双端队列 一 简介 队列是一种特殊的线性表,只...

  • 队列 - 双端队列 - 循环队列 - 循环双端队列

    队列是一种特殊的线性表,只能在头尾两端进行操作队尾(rear):只能从队尾添加元素,一般叫做 enQueue,入队...

  • 数据结构(四) -- 双端队列

    一,双端队列 队列的一种变型--双端队列(Double-ended queue),简称为Deque。顾名思义,也就...

  • 数据结构之「双端队列」

    什么是双端队列? 双端队列(deque)是指允许两端都可以进行入队和出队操作的队列,deque 是 “double...

  • C++中STL容器之双端队列——dequeue

    1.双端队列介绍 双端队列(dequeue) 与vector很类似,采用线性表顺序存储结构,且支持随机访问,即可以...

  • Java中的阻塞队列(1)

    队列(Queue):FIFO 双端队列(Deque):两端都可以进出,当我们约束从队列的一端进出队列时,就形成了一...

网友评论

    本文标题:4.队列与双端队列

    本文链接:https://www.haomeiwen.com/subject/gugksttx.html