昨天提到了用线性单链表实现直接插入排序,所以准备借此复习一下线性单链表的内容......(很惭愧,两个学期没再摸数据结构,记不得了) 线性单链表是一种非随机存取的存储结构。因为与顺序表不同的是,链表结构中结点的位置不是连续的,需要通过链表中的结构指针来单向指引(如果是双向链表,则是双向指引。)...
分类:
其他好文 时间:
2015-12-23 19:26:26
阅读次数:
149
前面分析了HashMap的实现,我们知道其底层数据存储是一个hash表(数组+单向链表)。接下来我们看一下另一个LinkedHashMap,它是HashMap的一个子类,他在HashMap的基础上维持了一个双向链表(hash表+双向链表),在遍历的时候可以使用插入顺序(先进先出,类似于FIFO).....
分类:
其他好文 时间:
2015-12-19 20:23:04
阅读次数:
325
APUE 308页 线程学习时候有一个链表struct job{ struct job* next; struct job* prev; pthread_t id;}struct queue(){ struct job * head; struct jo...
分类:
其他好文 时间:
2015-12-19 15:08:36
阅读次数:
169
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。typedef struct node{ struct node *pre; //前驱指针 ...
分类:
其他好文 时间:
2015-12-16 21:35:28
阅读次数:
176
C++ STL 的实现:1.vector底层数据结构为数组 ,支持快速随机访问2.list 底层数据结构为双向链表,支持快速增删3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问4.stack 底层一般用23实现,封....
分类:
编程语言 时间:
2015-12-16 21:34:17
阅读次数:
200
1.string类型 : 图片和视频文件,静态文件2.list 双向链表:回帖ID,我的关注列表,消息队列3.set无序集合,通过hash table实现,优点是快速查找元素是否存在 : a. 记录一些不能重复的记录,例如用户名 b. 记录做过的事情,比如限制用户一天内投一票,用时间做key,用.....
分类:
其他好文 时间:
2015-12-16 00:12:18
阅读次数:
121
C++实现双向循环链表功能。 图示单链表,双向链表。循环链表
分类:
编程语言 时间:
2015-12-15 06:22:05
阅读次数:
193
LinkedList是基于链表结构的一种List,在分析LinkedList源码前有必要对链表结构进行说明。1.链表的概念链表是由一系列非连续的节点组成的存储结构,简单分下类的话,链表又分为单向链表和双向链表,而单向/双向链表又可以分为循环链表和非循环链表,下面简单就这四种链表进行图解说明。 1.1...
分类:
其他好文 时间:
2015-12-15 00:51:21
阅读次数:
150
因为百度空间没有了,所及将以前写的一篇关于C语言粘贴符的使用的随笔迁移至此。最近在百度知道看到有关C语言泛型的问题因为举例比较长,在这里作为回答,并作为C语言知识的记录,如果有不同意见,欢迎大家互相探讨,其实我的模拟泛型的思路就是使用粘贴符##以及宏定义完成。下面举例双向链表的实现,代码如下:#in...
分类:
编程语言 时间:
2015-12-12 10:55:28
阅读次数:
220
//双链循环线性表的表示与实现#include #include #include #define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typedef int ...
分类:
其他好文 时间:
2015-12-10 16:57:07
阅读次数:
112