一、链表 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构, ...
分类:
其他好文 时间:
2017-08-01 22:58:57
阅读次数:
155
在没有C语言之前还没有指针这个概念,但是那个时候就已经有和现在静态链表操作形式类似数据存储类型。静态链表的优势就在于,在对其中存储的信息进行插入删除操作的时候它的时间复杂度是 O(1) ,那么在没有指针的时候是使用什么来实现这种存储操作的那? 那就是用数组来代替指针,静态链表在进行数据遍历的时候是依 ...
分类:
编程语言 时间:
2017-07-26 01:56:33
阅读次数:
217
一、双链表结构 redis中实现的双链表结构体如下: 包含三个节点的list组成如图: 每个listNode的结构: Redis链表list特点: 1、双端:每个节点包括前向指针prev和后级指针next,获取节点前后节点都是O(1) 2、无环:首节点prev=NULL,尾节点next=NULL 3 ...
分类:
其他好文 时间:
2017-07-23 00:52:41
阅读次数:
240
操作 is_empty() 链表是否为空 length() 链表长度 travel() 遍历链表 add(item) 链表头部添加 append(item) 链表尾部添加 insert(pos, item) 指定位置添加 remove(item) 删除节点 search(item) 查找节点是否存在 ...
分类:
编程语言 时间:
2017-07-20 10:28:46
阅读次数:
146
操作 is_empty() 判断链表是否为空 length() 返回链表的长度 travel() 遍历 add(item) 在头部添加一个节点 append(item) 在尾部添加一个节点 insert(pos, item) 在指定位置pos添加节点 remove(item) 删除一个节点 sear ...
分类:
编程语言 时间:
2017-07-20 10:06:00
阅读次数:
207
链表的构建事实上也就是不断插入节点的过程。而节点的插入能够分为头插法和尾插法。头插法就是在头结点后插入该节点,始终把该节点作为第一个节点。尾插法就是在链表的最后一个节点处插入元素,作为最后一个节点。假设想要了解链表的概念和其它链表操作。请參考《数据结构与算法之链表》《C语言实现链表的基本操作》两篇文 ...
分类:
其他好文 时间:
2017-07-14 09:58:08
阅读次数:
847
单链表操作 单链表操作1 单链表操作2 单链表的插入3 单链表的操作4 ...
分类:
其他好文 时间:
2017-07-07 11:46:43
阅读次数:
258
Redis简介:Redis是一个开源的,面向键/值对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适合高并发的应用场景。并且提供多种语言的API 数据类型:string(字符串),list(链表),Hash(哈希),set(集合),zset(sortedset)(有序集合) Redi ...
分类:
其他好文 时间:
2017-06-27 00:58:54
阅读次数:
162
一、单链表简介 相对于以数组为代表的“顺序表”而言,单链表虽然存储密度比较低(因为数据域才是我们真正需要的,指针域只是用来索引,我们并不真正需要它),但是却具有灵活分配存储空间、方便数据元素的删除、方便元素插入等优点 单链表是线性表链式存储的一种,其储存不连续。单链表的数据结构中包含两个变量:数据和 ...
分类:
其他好文 时间:
2017-06-10 14:07:24
阅读次数:
228
单链表:只指出后继关系的链表 双链表:同时存储前趋和后继 循环链表:指出后继的同时指出头结点和尾结点的关系 单链表的存储 定义一个结点类型 struct linkRec { datatype data; linkRec *next; } 单链表操作-插入 在结点p后插入一个结点 *申请空间 *输入数 ...
分类:
其他好文 时间:
2017-05-20 22:44:21
阅读次数:
247