zoukankan      html  css  js  c++  java
  • Queue and deque

    Queue : 队列

    队列(Queue)是常用的数据结构,可以将队列看成特殊的线性表,队列限制了对线性表的访问方式:只能从线性表的一端添加(offer)元素,从另一端取出(poll)元素。

    队列遵循先进先出(FIFO First Input First Output )的原则。

    JDK中提供了Queue接口,同时使得LinkedList实现了该接口(选择LinkedList实现Queue的原因在于Queue经常要进行插入和删除的操作,而LinkedList在这方面效率较高)。

    Queue提供了操作队列的相关方法,其主要方法如下:

    • boolean offer(E e):将元素追加到队列末尾,若添加成功则返回true。
    • E poll():从队首删除并返回该元素。
    • E peek():返回队首元素,但是不删除。

    deque : 双端队列

    Deque是Queue的子接口,定义了所谓“双端队列”即从队列的两端分别可以入队(offer)和出队(poll),LinkedList实现了该接口。

    如果将Deque限制为只能从一端入队和出队,则可实现“栈”(Stack)的数据结构,对于栈而言,入栈称之为push,出栈称之为pop。

    栈遵循先进后出(FILO First Input Last Output )的原则。

    Deque提供了操作栈的相关方法,其主要方法如下:

    • void push(E e):将给定元素"压入"栈中。存入的元素会在栈首。即:栈的第一个元素
    • E pop():将栈首元素删除并返回。
  • 相关阅读:
    Java作业十(2017-11-8)
    Java作业九(2017-11-6)
    Java作业八(2017-10-30)
    Java作业七(2017-10-30)
    Java作业六(2017-10-30)
    Java作业五(2017-10-15)
    如何获取jqGrid中选择的行的数据
    如何修改WAMP中mysql默认空密码
    为 PhpStorm 配置 Xdebug 来调试代码
    MySQL load_file()/into outfile路径问题总结
  • 原文地址:https://www.cnblogs.com/Mr-Kenson/p/7259676.html
Copyright © 2011-2022 走看看