LinkedBlockingQueue的put,add和offer的区别 最近在学习<<Java并发编程实践>>,有很多java.util.concurrent包下的新类。LinkedBlockingQueue就是其中之一,顾名思义这是一个阻塞的线程安全的队列,底层应该采用链表实现。 看其API的时 ...
分类:
数据库 时间:
2019-02-03 12:26:50
阅读次数:
187
队列 队列是FIFO表,使用队列时在队尾(rear)插入元素,称之为入队(enqueue),以及在对头(front)删除并返回元素值,称之为出队(dequeue). 任何表的实现都可以用于实现队列结构,链表实现比较简单;数组实现其中可以使用循环数组结构,即入队时在数组队列中前端不满,后端已经满了,则 ...
分类:
其他好文 时间:
2019-02-02 13:04:12
阅读次数:
157
1.描述:队列也是一种表,遵循先进先出的规则(FIFO)。 队列头称为队头(front),可以取出元素,队列尾称为队尾(rear),允许插入元素。 2.队列的实现 链表实现和数组实现 对于链表实现来说,和栈类似,所有链表的操作都是合法的 主要看队列的数组实现 3.队列ADT 以上是队列支持的接口 4 ...
分类:
编程语言 时间:
2019-01-27 21:58:53
阅读次数:
310
文章目录 前言 实现清单 链表实现 更新 总结 文章目录 前言 实现清单 链表实现 更新 总结 前言 实现清单 链表实现 更新 总结 前言 算法和数据结构是一个亘古不变的话题,作为一个程序员,掌握常用的数据结构实现是非常非常的有必要的。 实现清单 实现链表,本质上和语言是无关的。但是灵活度却和实现它 ...
分类:
编程语言 时间:
2019-01-26 17:11:44
阅读次数:
189
可以把链表头作为栈顶,用链表作为栈的底层实现( LinkedListStack<E> implements Stack<E>),来实现出栈这样一个结构。 ...
分类:
其他好文 时间:
2019-01-26 14:27:44
阅读次数:
174
C++五种迭代器之间的关系 迭代器作用 让容器和算法耦合, 或者说让数据和操作耦合 一、双向迭代器 List:元素有放入顺序,元素可重复;用链表实现Map:元素按键值对存储,无放入顺序Set:元素无放入顺序,元素不可重复;用平衡检索二叉树实现。 1.list构造函数 ①list <int> c0; ...
分类:
编程语言 时间:
2019-01-26 00:48:15
阅读次数:
267
注:std::list C++11标准 list概述 list是一种序列容器,它允许在序列中的任意位置进行常数时间的插入和删除操作,并可以在两个方向上进行迭代(遍历)。 list容器是基于双链表实现的,可以将其包含的每个元素存储在不同且不相关的存储位置上。通过链接到前一个元素和后一个元素的每个元素的 ...
分类:
其他好文 时间:
2019-01-25 18:41:17
阅读次数:
170
队列 队列一般分为两类:链式队列和顺序队列 链式队列 链式队列即用链表实现的队列 顺序队列 顺序队列是用数组实现的队列,顺序队列通常必须是循环队列 1、基本概念: 队列是指允许在一端进行插入,在另一端进行删除的线性表,又称“先进先出”的线性表 队列是一种特殊的线性结构,它只允许在队列的首部(head ...
分类:
其他好文 时间:
2019-01-22 17:36:28
阅读次数:
206
知识体系 Collection接口 --List接口 --存储数据有序,可以存储重复元素 --ArrayList(主要实现类)底层以数组实现 --LinkedList:对于频繁进行插入删除操作 底层以链表实现 --Set接口 --存储数据无序,不能存储重复元素 --HashSet、LinkedHas ...
分类:
其他好文 时间:
2019-01-21 21:05:56
阅读次数:
180
特性: HashMap 与 Hashtable 的分析: 1):HashMap简介 1、底层数组+链表实现,可以存储null键和null值,线程不安全 2、HashMap 不是线程安全的 3、HashMap 是 map 接口的子类。 4、HashMap 允许null key 和 null value ...
分类:
其他好文 时间:
2019-01-18 18:32:24
阅读次数:
224