第 3 章 链表

2021-03-27  本文已影响0人  MatyLine

listNode

typedef struct listNode{
  struct listNode *prev;
  struct listNode *next;
  void *value;
}listNode;

void 指针可以指向任意类型的数据,如:

void main(){
  int num = 100;
  void *p = #
  printf("%d",*(int *)p);
}

可见,Redis 中的链接采用了双端链表。

list

typedef struct list{
  listNode *head;
  listNode *tail;
  unsigned long len;
  void *(*dup) (void *ptr);
  void (*free) (void *ptr);
  int (*match) (void *ptr, void *key);
}

Redis 的链表实现特性:

上一篇下一篇

猜你喜欢

热点阅读