Q:HashMap 的数据结构? A:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点。当链表长度超过 8 时,链表转换为红黑树。 transient Node<K,V>[] table; Q:HashMap 的工作原理? A:HashMap 底层是 hash 数组和单向链表实现,数组中 ...
分类:
其他好文 时间:
2019-03-08 16:52:07
阅读次数:
264
前面讲过用数组实现队列,这次看下用链表实现队列。 如有不对请提出,共同提高,谢谢!! ...
分类:
其他好文 时间:
2019-03-06 13:19:52
阅读次数:
137
linux-3.5/include/linux/list.h 使用只含指针域的双向循环链表进行链表的操作。 下面是我选取部分list.h中代码: 1 #ifndef _LINUX_LIST_H 2 #define _LINUX_LIST_H 3 4 struct list_head { 5 stru ...
分类:
系统相关 时间:
2019-03-03 16:12:27
阅读次数:
142
当我在学习C语言的链表实现时,遇到了一些问题,通常链表的表头是通过结构体创建的,而表头中包含所需要指向的第一个节点与整个链表长度等信息,对于在表头中所存储的地址信息感到一点疑惑。如一下创建的一个单向链表:typedefstruct_tag_LinkListNodeLinkListNode;//结点取别名struct_tag_LinkListNode{LinkListNode*next;
分类:
其他好文 时间:
2019-03-01 17:10:36
阅读次数:
191
链式队列 用链表实现,链式队列就是一个操作受限的单向链表,如果读者了解单向链表的建立过程,那理解链式队列就很容易了,先回顾一下单向链表的建立过程 (不熟悉单向链表的可以先看看另一片随笔,再回来看链式队列理解起来更容易?https://www.cnblogs.com/lanhaicode/p/1030 ...
分类:
其他好文 时间:
2019-02-27 20:24:17
阅读次数:
225
一、基本语法: 1 变量。大小写敏感。即使表达的是同一个意思,如果大小写不一样,在计算机里面就是不一样 2 类名。 首字母要大写,如果由多个字母构成,每个单词的首字母都要大写 3 方法名。 方法名的首字母需小写,如果有多单词构成,第一个单词小写,后面的则是大写 4 源 文件名和类名必须一样 5 有m ...
分类:
编程语言 时间:
2019-02-22 10:43:37
阅读次数:
200
# 对于带头结点的单链表存在两种的翻转操作# 基本构造如下 将a1到an元素再依次以头插入的方式生成链表,实现链表reverse # 图片来自网络 #我的 原文发布在https://blog.csdn.net/SHIDACSDN/article/details/80295020 ...
分类:
其他好文 时间:
2019-02-17 12:24:24
阅读次数:
194
1.非阻塞1.1,PriorityQueue:优先级队列,存入的元素可以实现Comparable,从而按照自定义的顺序去执行 1.2,LinkedList:双向链表,实现了Dequeue接口2.阻塞 2.1,ArrayBlockingQueue:数组队列a.底层是数组,读取快,增删慢b.指定公平性( ...
分类:
编程语言 时间:
2019-02-14 11:53:55
阅读次数:
254
一、栈(Stack) 基本概念:只允许在一端进行插入或删除操作的线性表。 栈顶(Top):线性表语序进行插入和删除的那一端。 栈底(Bottom):固定的,不允许进行插入和删除的那一端。 空栈:不含任何元素的的空表。 栈的顺序存储结构:栈的顺序存储成为顺序栈,他是利用一组地址连续的存储单元存放在栈底 ...
分类:
其他好文 时间:
2019-02-07 16:16:59
阅读次数:
228
题面 "Bzoj" 题解 很显然,我们只需要考虑单独取线段上方的情况,对于下方的把坐标取反再做一遍即可(因为我们只关心最终的答案) 建立树状数组维护一个横坐标区间内有多少个点,维护双向链表实现查询一个点左(右)横坐标最大(小)的与它相同的点。 首先枚举没有取到的颜色,找出所有不包含这种颜色的区间,更 ...
分类:
编程语言 时间:
2019-02-03 18:11:22
阅读次数:
154