redis数据结构--链表

首先,给出redis中链表节点的定义:

typedef struct listNode {
  struct listNode *prev; // 前置节点
  struct listNode *next; // 后置节点
  void *value; // 节点值域
}listNode;

可以看出,这里的链表是双端链表。下面是链表的定义:

typedef struct list {
  listNode *head; // 链表头结点
  listNode *tail; // 链表尾结点
  unsigned long len; // 链表长度
  void *(*dup) (void *ptr); // 节点复制函数
  void (*free) (void *ptr); //节点释放函数
  int (*match) (void *ptr, void *key); // 节点对比函数
}list;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容