文档章节

双端队列

贲大侠
 贲大侠
发布于 2017/07/25 15:41
字数 398
阅读 67
收藏 0
点赞 1
评论 0

        最近在看BlockingDeque的api文档,里面提到了双端队列,看完有点懵逼,于是乎学习了一番。

         在说双端之前先简单说下栈和队列。栈的两端分别是栈顶和栈底,其限制是只允许在一段进行插入和删除的操作,这一端就是栈顶,栈插入元素的顺序是从栈顶压入栈底,删除则是从栈顶开始删除,也就是说栈的出入规则是先进后出,先进者靠栈底近,后进者靠栈顶近,出栈的时候是从栈顶开始的,用大白话说先进栈的元素要比后进入的出栈要晚,这个规则就是“先进后出”。  

                

                            

        在说下队列,队列就简单多了,队列的操作是由两端进行的,一端插入,这是队尾,一端删除,这是队首。队列的出入规则是“先进先出”。

                                                    

        双端队列是一种具有栈和队列性质的数据结构,插入和删除是在两端进行。这些方法可以叫作insertLeft()和insertRight(),以及removeLeft()和removeRight()。如果严格禁止调用insertLeft()和removeLeft()方法(或禁用右段的操作),双端队列功能就和栈一样。禁止调用insertLeft()和removeRight()(或相反的另一对方法),它的功能就和队列一样了。双端队列与栈或队列相比,是一种多用途的数据结构,在容器类库中有时会用双端队列来提供栈和队列两种功能。

    

© 著作权归作者所有

贲大侠
粉丝 1
博文 18
码字总数 17703
作品 0
海淀
程序员
Java的Queue集合

Queue用于模拟队列这种数据结构,队列通常是指“先进先出”FIFO的容器,队列的头部保存在队列中存放时间最长的元素,队列的尾部保存在队列中存放时间最短的元素。Queue接口中定义了如下几个方...

西红柿的眼泪 ⋅ 2016/07/14 ⋅ 0

Java集合之队列和栈

Java集合之队列 队列Queue Queue是Java中的一个接口,继承自Collection接口。 offer方法和add方法的区别: offer方法——{@code true} if the element was added to this queue, else {@cod...

秋风醉了 ⋅ 2014/08/09 ⋅ 0

【死磕Java并发】-----J.U.C之阻塞队列:LinkedBlockingDeque

原文出处http://cmsblogs.com/ 『chenssy』 前面的BlockingQueue都是单向的FIFO队列,而LinkedBlockingDeque则是一个由链表组成的双向阻塞队列,双向队列就意味着可以从对头、对尾两端插入和...

chenssy ⋅ 2017/10/03 ⋅ 0

【死磕Java并发】—–J.U.C之阻塞队列:LinkedBlockingDeque

原文出处http://cmsblogs.com/ 『chenssy』 前面的BlockingQueue都是单向的FIFO队列,而LinkedBlockingDeque则是一个由链表组成的双向阻塞队列,双向队列就意味着可以从对头、对尾两端插入和...

chenssy ⋅ 2017/10/03 ⋅ 0

并发编程 – Concurrent 用户指南( 一)

1. java.util.concurrent – Java 并发工具包 Java 5 添加了一个新的包到 Java 平台,java.util.concurrent 包。这个包包含有一系列能够让 Java 的并发编程变得更加简单轻松的类。在这个包被...

余平的余_余平的平 ⋅ 2017/09/07 ⋅ 0

Fork/Join框架

Fork/Join框架 什么是Fork/Join框架 Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。 我们...

秋风醉了 ⋅ 2015/01/22 ⋅ 0

Java LinkedList

基本概念 LinkedList可以被当作堆栈、队列或双端队列进行操作。 LinkedList 实现 List 接口,能对它进行列表操作。 LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。 实际上...

有苦向瓜诉说 ⋅ 2017/11/22 ⋅ 0

更好的使用Java集合(三)

队列、双端队列和优先级队列 队列可以有效地在尾部添加一个元素,在头部删除一个元素。有两个端头的队列叫双端队列。 可以有效地在头部和尾部添加或删除元素,但不支持在队列中间添加元素。J...

杰克鹏仔 ⋅ 2016/03/14 ⋅ 0

Java 队列详细介绍

参考文档:http://docs.oracle.com/javase/8/docs/api/ Queue队列的所有已知实现类: 该接口继承Iterable,Collection接口.除了继承的接口的方法外,它有自身操作队列的一些公有的方法:offer/po...

最爱肉肉 ⋅ 2016/11/23 ⋅ 0

3 . python Collections -- Deque Object

外语不好,机翻勿喷,方便回顾 (逃~ 语法: class collections.deque([iterable[, maxlen]]) 返回一个从左到右初始化的新deque对象(使用append())和来自iterable(可迭代的)的数据。 如...

听丶飞鸟说 ⋅ 06/12 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

十五周二次课

十五周二次课 17.1mysql主从介绍 17.2准备工作 17.3配置主 17.4配置从 17.5测试主从同步 17.1mysql主从介绍 MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主...

河图再现 ⋅ 47分钟前 ⋅ 0

docker安装snmp rrdtool环境

以Ubuntu16:04作为基础版本 docker pull ubuntu:16.04 启动一个容器 docker run -d -i -t --name flow_mete ubuntu:16.04 bash 进入容器 docker exec -it flow_mete bash cd ~ 安装基本软件 ......

messud4312 ⋅ 今天 ⋅ 0

OSChina 周一乱弹 —— 快别开心了,你还没有女友呢。

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享吴彤的单曲《好春光》 《好春光》- 吴彤 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :小萝莉街上乱跑,误把我认错成...

小小编辑 ⋅ 今天 ⋅ 7

mysql in action / alter table

change character set ALTER SCHEMA `employees` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci ;ALTER TABLE `employees`.`t2` CHARACTER SET = utf8mb4 , COLLAT......

qwfys ⋅ 今天 ⋅ 0

Java 开发者不容错过的 12 种高效工具

Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用...

jason_kiss ⋅ 昨天 ⋅ 0

Linux下php访问远程ms sqlserver

1、安装freetds(略,安装在/opt/local/freetds 下) 2、cd /path/to/php-5.6.36/ 进入PHP源码目录 3、cd ext/mssql进入MSSQL模块源码目录 4、/opt/php/bin/phpize生成编译配置文件 5、 . ./...

wangxuwei ⋅ 昨天 ⋅ 0

如何成为技术专家

文章来源于 -- 时间的朋友 拥有良好的心态。首先要有空杯心态,用欣赏的眼光发现并学习别人的长处,包括但不限于工具的使用,工作方法,解决问题以及规划未来的能力等。向别人学习的同时要注...

长安一梦 ⋅ 昨天 ⋅ 0

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令...

刘祖鹏 ⋅ 昨天 ⋅ 0

MySQL

查看表相关命令 - 查看表结构    desc 表名- 查看生成表的SQL    show create table 表名- 查看索引    show index from  表名 使用索引和不使用索引 由于索引是专门用于加...

stars永恒 ⋅ 昨天 ⋅ 0

easyui学习笔记

EasyUI常用控件禁用方法 combobox $("#id").combobox({ disabled: true }); ----- $("#id").combobox({ disabled: false}); validatebox $("#id").attr("readonly", true); ----- $("#id").r......

miaojiangmin ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部