传统的容器(数组)在进行增、删等破坏性操作时,需要移动元素,可能导致性能问题;同时添加、删除等算法和具体业务耦合在一起,增加了程序开发的复杂度。Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中。 1 Collection 接口 Collection是java集合 ...
分类:
其他好文 时间:
2019-05-03 09:39:05
阅读次数:
140
做题时的问题: 两个单调队列实现会出现一个问题:可用范围因最大最小值队列(存在队头)的更改(出队,导致不可见)而缩小。如果单纯计算队列中覆盖的范围,就会漏掉一些区间。如这组数据: 当运行到数字“2”处时,单调队列(存下标)变成这样: 大:4 5 小:5 实际上,在2~5范围内的所有区间均有效。 (以 ...
分类:
其他好文 时间:
2019-05-02 20:11:26
阅读次数:
129
java并发包中提供了三个常用的并发队列实现,分别是:ConcurrentLinkedQueue、LinkedBlockingQueue和ArrayBlockingQueue。 ConcurrentLinkedQueue使用的是CAS原语无锁队列实现,是一个异步队列,入队速度很快,出队进行了加锁,性 ...
分类:
编程语言 时间:
2019-05-01 18:45:13
阅读次数:
155
@ "TOC" ==和栈一样,队列也是表,但是使用队列的特点是先进先出。== 队列模型 $\color{black}{队列的基本操作是入队,它是在表的末端插入一个元素,和出队,它是删除在表开头的一个元素}$ 队列的循环数组实现 实现队列的类 实现接口文件 ...
分类:
编程语言 时间:
2019-05-01 16:08:07
阅读次数:
173
循环队列的基本操作: 1.返回循环队列中最小元素的值的位置: 2.借助空栈将循环队列元素逆置 所需顺序栈的基本操作: 队列逆置: 3.使用两队列模拟栈 以下是使用模拟栈将十进制数转化二进制数: 运行结果如下: ...
分类:
其他好文 时间:
2019-04-30 01:27:13
阅读次数:
178
网络请求 selenium 部分流程: 第一:爬虫引擎生成requests请求,送往scheduler调度模块,进入等待队列,等待调度。第二:scheduler模块开始调度这些requests,出队,发往爬虫引擎。第三:爬虫引擎将这些requests送到下载中间件(多个,例如加header,代理,自 ...
分类:
其他好文 时间:
2019-04-26 14:55:14
阅读次数:
166
题目描述用两个队列来实现一个栈,完成栈的Push和Pop操作。队列中的元素为int类型。实现方式其实和两个栈模拟一个队列相似,但是区别在于这两个队列的作用和那两个栈的作用不一样。classSolution:"""用两个队列模拟一个栈,如果两个队列的容量分别为M和N,其中M>N,那么模拟得到的栈的容量是N+1因为假设先把queue1塞进N+2个,此时将元素出栈,则需要先将queue1的N+1个
分类:
其他好文 时间:
2019-04-17 09:24:01
阅读次数:
143
队列队列是一种先进先出的数据结构,主要操作包括入队,出队。入队的元素加入到对尾,从队头取出出队的元素。这里用列表简单模拟队列,其实现如下: queue()is_empty()size()enqueue()dequeue()代码如下: class queue(self): #创立容器 def __in ...
分类:
编程语言 时间:
2019-04-16 19:04:15
阅读次数:
304
1 #include 2 using namespace std; 3 struct node 4 { 5 int pos,len; 6 bool friend operatord.len;//优先队列原本是从大到小排列的,这里把小于号重载为特殊的大于号,使得队列中的元素从小到大出队,从而代替循环操... ...
分类:
其他好文 时间:
2019-04-14 23:03:23
阅读次数:
260
栈 先进后出(FILO) 队列 先进先出(FIFO) ...
分类:
其他好文 时间:
2019-04-13 16:22:20
阅读次数:
127