[数据结构]双向链表(C语言)

Posted MAKISE004

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[数据结构]双向链表(C语言)相关的知识,希望对你有一定的参考价值。

双向链表

双向链表概念

双向链表也叫双链表,其每个数据结点中都有两个指针,分别指向直接后继和直接前驱。在单向链表中若要找到某个节点的前驱节点,需要先遍历到这个节点,然后再遍历一次找到其前驱节点,这无疑是十分低效的。而双向链表可以做到正向反向遍历,由此相比单向链表可以更高效地找到某个节点的前驱节点。



双向链表的创建

双向链表的节点构成

双向链表的单个节点含有两个指针域,一个值域。

结构体

typedef int Elemtype;

typedef struct Node 

    Elemtype data;
    struct Node *prior;      //前驱指针
    struct Node *next;       //后驱指针

 Duplist;

双向链表的初始化创建

双向链表基本上就是在单向链表的基础上多了一个前驱指针,用类似的方式建立每个节点与前驱之间关系就可以了

以上是关于[数据结构]双向链表(C语言)的主要内容,如果未能解决你的问题,请参考以下文章

[数据结构]双向链表(C语言)

c语言 双向链表的简单操作-创建插入删除

C语言数据结构——带哨兵结点的循环双向链表

双向循环链表增删查改C语言实现

数据结构c语言篇 《二》带头双向循环链表实现以及链表相关面试题(下)

数据结构c语言篇 《二》带头双向循环链表实现以及链表相关面试题(下)