专栏首页大闲人柴毛毛Redis源码分析(二)——Redis数据结构-链表

Redis源码分析(二)——Redis数据结构-链表

数据结构——节点

typedef struct listNode{
  struct listNode *prev;
  struct listNode *next;
  void *value;
}listNode;
  • prev:链表节点的前驱
  • next:链表节点的后继
  • value:节点中的值

数据结构——链表

typedef struct list{
  listNode *head;
  listNode *tail;
  unsigned long len;
}list;
  • head:链表头节点
  • tail:链表尾节点
  • len:链表中节点个数

Redis链表的特点

  • 双向链表
  • 无环
  • 带头节点 和 尾节点
  • 多态:采用void*保存节点值,可以保存各种不同类型的值。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 剑指offer代码解析——面试题16反转单链表

    本题的详细解析均在代码中注释: /** * 题目:将单链表反转,并输出反转后链表的头结点 * @author 大闲人柴毛毛 */ public class...

    大闲人柴毛毛
  • 剑指 offer代码解析——面试题34丑数

    本题详细解析均在代码注释中: /** * 题目:我们把只包含因子2、3、5的数称为丑数。求从小到大顺序第1500个丑数。习惯上把1称为第一个丑数。 * @a...

    大闲人柴毛毛
  • 了解你服务器的心情——top命令详解

    top是Linux较为常用的命令,可以监控服务器的CPU、内存、进程的运行情况,话不多说,直接操作。 输入top即可启动: ? 下面我们就来逐一介绍top向我们...

    大闲人柴毛毛
  • 《Redis设计与实现》读书笔记(三) ——Redis中的链表

    《Redis设计与实现》读书笔记(三) ——Redis中的链表 (原创内容,转载请注明来源,谢谢) 一、概述 链表在redis底层实现广泛,例如redis的li...

    用户1327360
  • Redis源码学习之列表对象

    列表对象的底层实现可以是【压缩列表】或者【双端链表】,Redis会通过用户对于压缩列表单个节点值长度(list_max_ziplist_value)和键值对个数...

    里奥搬砖
  • [LintCode] Linked List Cycle(带环链表)

    给出 -21->10->4->5, tail connects to node index 1,返回 true。

    HoneyMoose
  • 程序面试题之我见

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    用户2615200
  • 数据结构之链表与递归

    1、提起链表,有一块非常重要的内容,就是递归,这是因为链表本身具有天然的递归性,同时,链表也是一种结构非常简单的数据结构,使得链表是一种非常好的来学习和研究递归...

    别先生
  • python基础1| 索引与切片

    看似简单的索引,有的人不以为然,我们这里采用精准的数字索引,很容易排查错误。若索引是经过计算出的一个变量,就千万要小心了,否则失之毫厘差之千里。

    统计学家
  • EasyNVR H5无插件直播方案前端构建之:如何播放HLS

    videojs在播放rtmp时,是调用Flash来进行播放的,在播放hls时是调用h5来播放的。

    EasyNVR

扫码关注云+社区

领取腾讯云代金券