摘要: 一、什么是循环双链表 从上一节我们看出循环单链表是尾节点指针指向头节点,那么以此类推,我们的循环双链表就是头节点的prior指针指向尾节点。所以我们在判断循环双链表是否为空时就是其prior和next同时指向一个节点就为空。 循环双链表的结构: typedef struct CDLinkNode { 阅读全文
posted @ 2020-07-12 18:13 熊熊会发光哦 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 一、什么是循环单链表 循环单链表与单链表最本质的区别就是最后一个指针指向的节点不是NULL而是指向头节点,从而形成一个闭环。 所以我们在判断指针是否指向尾节点时候的判断条件就是他的next是否指向头节点。 循环单链表的结构: typedef struct { //定义循环单链表的节点类型 ElemT 阅读全文
posted @ 2020-07-12 17:46 熊熊会发光哦 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 一、什么时双链表 和单链表相比,双链表在每个节点的基础上又新增了一个指针域,指向前驱元素,因为在单链表如果要访问前面一个节点时,需要从头遍历,平均时间复杂度为O(n),而双链表在访问前面一个节点时的时间复杂度为O(1),需要注意的时,双链表在进行插入和删除的时候需要不要忘记还有一个前驱节点需要指向。 阅读全文
posted @ 2020-07-12 16:50 熊熊会发光哦 阅读(231) 评论(0) 推荐(0) 编辑