Redis笔记 -- 链表和链表节点的API函数(三)
| 函数 | 作用 | 时间复杂度 |
| listSetDupMethod | 将给定的函数设置为链表的节点值复制函数 |
复制函数可以通过链表的dup |
| listGetDupMethod | 返回链表当前正在使用的节点值复制函数 | O(1) |
| listSetFreeMethod | 将给定的函数设置为链表的节点值释放函数 |
释放函数可以通过链表的free |
| listGetFree | 返回链表当前正在使用的节点值释放函数 |
O(1) |
| listSetMatchMethod | 将给定的函数设置为链表的节点值对比函数 | 对比函数可以通过链表的match 属性直接获得,O(1) |
| listGetMatchMethod | 返回链表当前正在使用的节点值对比函数 | O(1) |
| listLength | 返回链表的长度(包含了多少个节点) |
链表长度可以通过链表的len |
| listFirst | 返回链表的表头节点 |
表头节点可以通过链表的head |
| listLast | 返回链表的表尾节点 |
表尾节点可以通过链表的tail |
| listPrevNode | 返回给定节点的前置节点 |
前置节点可以通过节点的prev |
| listNextNode | 返回给定节点的后置节点 |
后置节点可以通过节点的next |
| listNodeValue | 返回给定节点目前正在保存的值 | 节点值可以通过节点的value属性直接获得,O(1) |
| listCreate | 创建一个不包含任何节点的新链表 | O(1) |
| listAddNodeHead |
将一个包含给定值的新节点添加到给定链表 |
O(1) |
| listAddNodeTail |
将一个包含给定值的新节点添加到给定链表 |
O(1) |
| listInsertNode |
将一个包含给定值的新节点添加到给定节点 |
O(1) |
| listSearchKey | 查找并返回链表中包含给定值的节点 | O(N),N 为链表长度 |
| listIndex | 返回链表在给定索引上的节点 | O(N),N 为链表长度 |
| listDelNode | 从链表中删除给定节点 | O(N),N 为链表长度 |
| listRotate |
将链表的表尾节点弹出,然后将被弹出的节 |
O(1) |
| listDup | 复制一个给定链表的副本 | O(N),N 为链表长度 |
| listRelease | 释放给定链表,以及链表中的所有节点 | O(N),N 为链表长度 |
| ------ Power by 《Redis设计与实现》 |
Redis笔记 -- 链表和链表节点的API函数(三)的更多相关文章
- C语言:根据形参c中指定的英文字母,按顺序打印出若干后继相邻字母,-主函数中放入一个带头节点的链表结构中,h指向链表的头节点。fun函数找出学生的最高分-使用插入排序法对字符串中的字符进行升序排序。-从文件中找到指定学号的学生数据,读入次学生数据,
//根据形参c中指定的英文字母,按顺序打印出若干后继相邻字母,输出字母的大小与形参c一致,数量由形参d指定.例如:输入c为Y,d为4,则输出ZABC. #include <stdio.h> ...
- 笔试算法题(19):判断两条单向链表的公共节点 & 字符集删除函数
出题:给定两个单向链表的头结点,判断其是否有公共节点并确定第一个公共节点的索引: 分析: 由于是单向链表,所以每个节点有且仅有一个后续节点,所以只可能是Y型交叉(每条链表中的某个节点同时指向一个公共节 ...
- 【DM642学习笔记五】FVID驱动模型 API函数
1.FVID_control 作用:发送一个控制命令到mini_driver 语法: status = FVID_control(fvidChan, cmd, args); 参数: FVID_Hand ...
- Redis学习之底层链表源码分析
Redis底层链表的源码分析: 一.链表结点的结构(单个结点): // listNode 双端链表节点 typedef struct listNode { // 前置节点 struct listNod ...
- redis 笔记01 简单动态字符串、链表、字典、跳跃表、整数集合、压缩列表
文中内容摘自<redis设计与实现> 简单动态字符串 1. Redis只会使用C字符串作为字面量,在大多数情况下,Redis使用SDS(Simple Dynamic String,简单动态 ...
- 【Redis笔记(四)】 Redis数据结构 - list链表
原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/50573605 经过前面的介绍,我们学习了Redis中string字符串.hash ...
- 图解Redis之数据结构篇——链表
前言 Redis链表为双向无环链表! 图解Redis之数据结构篇--简单动态字符串SDS提到Redis使用了简单动态字符串,链表,字典(散列表),跳跃表,整数集合,压缩列表这些数据结构 ...
- C语言实现单链表,并完成链表常用API函数
C语言实现单链表,并完成链表常用API函数: 1.链表增.删.改.查. 2.打印链表.反转打印.打印环形链表. 3.链表排序.链表冒泡排序.链表快速排序. 4.求链表节点个数(普通方法.递归方法). ...
- Redis 底层数据结构之链表
文章参考:<Redis设计与实现>黄建宏 链表 链表提供了高效的节点重排能力,以及可以顺序访问,也可以通过增删节点灵活调整链表长度,Redis中的列表.发布订阅.慢查询.监视器等功能均用到 ...
随机推荐
- MyBatis学习笔记(一)
测试Demo的目录结构: com.luohao.config ->MyBatisCongfig.xml ->userMapper.xml com.luohao.Test ->Test ...
- 使用 Azure PowerShell 将 IaaS 资源从经典部署模型迁移到 Azure Resource Manager
以下步骤演示了如何使用 Azure PowerShell 命令将基础结构即服务 (IaaS) 资源从经典部署模型迁移到 Azure Resource Manager 部署模型. 也可根据需要通过 Az ...
- IE和DOM事件的区别
1.事件流的区别 IE采用冒泡型事件 Netscape使用捕获型事件 DOM使用先捕获后冒泡型事件 示例: <body> <div> <button>点击这里< ...
- asp.net session 保存实体类对象
存:User user=new User();session["USER"]=user; 取:User u= (User ) session["USER"];
- SCCM2007日志文件
Microsoft System Center Configuration Manager 2007 中的所有客户端和站点服务器组件都将过程信息记录在单个日志文件中.您可以使用客户端和站点服务器日志文 ...
- 浅析Linux操作系统是如何工作的(思维导图)
SA***189 多任务计算机运转机制如下思维导图所示: 小结: Linux操作系统是一个在时钟的节拍下,各个模块紧密协作.密不可分的整体,而整个Linux系统都是建立在存储程序的基础之上,正是有了程 ...
- Linux 基础学习大考核
0.关于Linux的简介 Linux(好又免费)的组成部分: Linux 是一种计算机操作系统: 一系列能让您与计算机进行交互操作并运行其它程序的程序. 操作系统由多种基础程序构成.它们使计算机可以与 ...
- ASP.NET Core 编码、web编码、网页编码 System.Text.Encodings.Web
System.Text.Encodings.Web 空间包含表示 Web 编码器的基类.表示 HTML.JavaScript 和 Url 字符编码的子类,以及表示仅允许编码特定字符.字符范围或码位的筛 ...
- August 09th 2017 Week 32nd Wednesday
Find hope from despair, life will become brilliant. 从绝望中寻找希望,人生终将辉煌. Have you ever seen the movie Ba ...
- Foj 2299 Prefix(AC自动机、DP)
Foj 2299 Prefix 题意 给定串s.正整数n,问有多少长度为n的字符串t满足:s[0...i]是t的子串,s[0...i+1]不是. 题解 求有多少长度为n的字符串t满足:s[0...i] ...