adlist.h/adlist.c 一、 adlist 的定义 由于C 语言没有内置的链表这种常用的数据结构,因此 Redis 实现了自己的链表实现。 Redis 对链表的实现,包括链表( list )、链表节点( listNode )以及链表迭代器( listIter )三个数据结构。 其中,链表节点在 adlist.h/listNode 中进行了定义: //链表节点typedefstructlistNod...
#define listGetMatchMethod(l) ((l)->match) 2、adlist.c中实现的函数 (1) 创建一个新链表 list *listCreate(void) { struct list *list; //分配内存,如果分配失败返回null if ((list = zmalloc(sizeof(*list))) == NULL) return NULL; list->head = list->tail = NULL;//初始化一个空链表 ...
以下哪种数据结构不适合用于实现栈( ) A. 数组 B. 链表 C. 双端队列 D. 队列 相关知识点: 试题来源: 解析 D 【详解】 本题考查栈。栈是一种后进先出(LIFO)的数据结构,而队列是一种先进先出(FIFO)的数据结构。因此,队列不适合用于实现栈。故答案为:D。反馈 收藏 ...
百度试题 结果1 题目下列哪种数据结构支持在两端添加和删除元素的操作? A. 链表 B. 栈 C. 队列 D. 双端队列 相关知识点: 试题来源: 解析 D 反馈 收藏