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*保存节点值,可以保存各种不同类型的值。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 4,307评论 0 16
  • 本文内容:1、 什么是链表?2、 链表共分几类?3、 链表的 C 实现! 总表:《数据结构?》 工程代码 Gith...
    半纸渊阅读 40,129评论 0 54
  • redis使用两种数据结构保存链表,分别是ziplist与linkedlist,内存占用及常用操作效率各不相同。本...
    但莫阅读 1,210评论 0 1
  • //leetcode中还有花样链表题,这里几个例子,冰山一角 求单链表中结点的个数----时间复杂度O(n)这是最...
    暗黑破坏球嘿哈阅读 1,574评论 0 6
  • 有一种人就像狗皮膏药,甩掉需要脱一层皮。 01 树叶是我同事,由于她的单纯善良,我们在勾心斗角的职场成为了无话不谈...
    二璐阅读 510评论 2 21