顺序队列: 概念: 队列是一种先进先出的线性表,只允许在一端插入,另一端删除。允许插入的一端称为队尾,允许删除的一端称为队头 顺序队列的实现: ...
分类:
编程语言 时间:
2019-07-16 10:57:20
阅读次数:
91
JUC源码分析 集合篇(五)BlockingQueue 阻塞式队列实现原理 以 LinkedBlockingQueue 分析 BlockingQueue 阻塞式队列的实现原理。 1. 数据结构 LinkedBlockingQueue 和 ConcurrentLinkedQueue 一样都是由 hea ...
分类:
其他好文 时间:
2019-05-26 09:23:28
阅读次数:
107
1 队列的定义 队列是只允许在一端(队尾)进行插入操作,而在另一端(队头)进行删除操作的线性表。 2 队列的特点 1)先进先出是队列最大的特点,是应用中非常常见的模型,例如排队; 2)队列也属于线性表,线性表的特性队列都拥有。 3 循环队列的实现及关键点 3.1 关键点 1)队列为空的条件:队头指针 ...
分类:
其他好文 时间:
2019-04-17 15:17:33
阅读次数:
128
https://blog.csdn.net/yishizuofei/article/details/78353722 https://blog.csdn.net/yishizuofei/article/details/78353722 https://blog.csdn.net/yishizuofe ...
分类:
其他好文 时间:
2019-04-08 17:26:09
阅读次数:
183
链式队列及循环队列 1、循环队列的实现(请采用模板类及模板函数实现) [实现提示] 同时可参见教材p65-p67页的ADT描述及算法实现及ppt)函数、类名称等可自定义,部分变量请加上学号后3位。也可自行对类中所定义的操作进行扩展。 所加载的库函数或常量定义及类的定义: (1)构造一个空的循环队列 ...
分类:
编程语言 时间:
2019-04-06 22:56:20
阅读次数:
278
存在问题: 1.对于简单的问题,因为思维惯性,常常更愿意用旧的方法去解决,从而导致无法熟悉站与队列的实现。 2.拿到题目时,常常会急着下手,而没有一个十分明确的算法,导致代码看起来思路十分混乱。 3.编程习惯不够好,缩进有问题,所用字符可读性不强。 总结: 栈分为顺序栈和链栈,实际上只是在原有数据存 ...
分类:
其他好文 时间:
2019-04-01 01:14:38
阅读次数:
127
一、什么是优先队列? 普通队列:先进先出,后进后出 优先队列:出队顺序和入队顺序无关,和优先级相关。 优先队列的实现: 二、堆的基本实现 二叉堆的特点:这很重要!!! 是核心 任意节点小于其父节点 除了最后一层叶子节点外,其他层的元素个数必须是最大值 ,叶子节点虽然可以不是最大值,但必须靠左排列(最 ...
分类:
编程语言 时间:
2019-03-26 00:54:37
阅读次数:
170
队列的定义及实现 队列的定义 队列是一种特殊的线性表 队列仅在线性表的两端进行操作 队头(Front):取出数据元素的一端 队尾(Rear):插入数据元素的一端 队列的性质 先进先出(FIFO,FirstInFirstOut) 队列的一
分类:
其他好文 时间:
2019-03-18 10:27:06
阅读次数:
150
使用最小堆实现优先队列 定义上浮函数和下浮函数,对每一次加入的新节点,重新维护最小堆 代码: ...
分类:
其他好文 时间:
2019-03-13 09:30:16
阅读次数:
205
谈到阻塞,相信大家都不会陌生了。阻塞的应用场景真的多得不要不要的,比如生产-消费模式,限流统计等等。什么ArrayBlockingQueue、LinkedBlockingQueue、DelayQueue等等,都是阻塞队列的实现啊,多简单!阻塞,一般有两个特性很亮眼:1.不耗CPU等待;2.线程安全;额,要这么说也OK的。毕竟,我们遇到的问题,到这里就够解决了。但是有没有想过,这容器的阻塞又是如何实
分类:
编程语言 时间:
2019-03-02 12:21:04
阅读次数:
120