C语言-数据结构-模拟实现带头双向循环链表

双向链表的创建

双向链表由3个文件实现,分别是 List.h、List.c、Test.c

(一)、在List.h文件中

1.将4个头文件放在List.h中,包括

C语言-数据结构-模拟实现带头双向循环链表_第1张图片

2.创建双向链表的结构体

C语言-数据结构-模拟实现带头双向循环链表_第2张图片

3. 为了实现顺序表的增删查改,对顺序表进行相应的函数声明

C语言-数据结构-模拟实现带头双向循环链表_第3张图片

(二)、在List.c文件中

1.首先引用List.h头文件,再执行下面的函数操作。

C语言-数据结构-模拟实现带头双向循环链表_第4张图片

 2.用 BuyListNode( ) 函数创建双向链表的一个节点。

C语言-数据结构-模拟实现带头双向循环链表_第5张图片

 3.用 ListInit( ) 函数创建双向链表的哨兵位。

C语言-数据结构-模拟实现带头双向循环链表_第6张图片

 4.用 ListPrint( ) 函数打印双向链表各个节点的信息。

C语言-数据结构-模拟实现带头双向循环链表_第7张图片

 5.用 ListPushBack( ) 函数,对双向链表的尾部节点进行数据的插入。

C语言-数据结构-模拟实现带头双向循环链表_第8张图片

  6.用 ListPushFront( ) 函数,对双向链表的头部节点进行数据的插入。

C语言-数据结构-模拟实现带头双向循环链表_第9张图片

7.用 ListEmpty( ) 函数,判断双向链表是否为空。

C语言-数据结构-模拟实现带头双向循环链表_第10张图片

 8.用 ListPopBack( ) 函数,对双向链表的尾部节点进行数据的删除。

C语言-数据结构-模拟实现带头双向循环链表_第11张图片

  9.用 ListPopFront( ) 函数,对双向链表的头部节点进行数据的删除。

C语言-数据结构-模拟实现带头双向循环链表_第12张图片

9.用 ListInsert( ) 函数,在pos节点之前插入新节点。

 C语言-数据结构-模拟实现带头双向循环链表_第13张图片

 9.用 ListErase( ) 函数,删除双向链表的pos节点。

C语言-数据结构-模拟实现带头双向循环链表_第14张图片

 10.用 ListSize( ) 函数,计算双向链表的长度。

C语言-数据结构-模拟实现带头双向循环链表_第15张图片

11.用 ListDestory( ) 函数,销毁双向链表的数据。

C语言-数据结构-模拟实现带头双向循环链表_第16张图片

 (三)、在Test.c文件中

1.首先引用List.h头文件,再执行下面的函数操作。

C语言-数据结构-模拟实现带头双向循环链表_第17张图片

 2.TestList1( )函数:

C语言-数据结构-模拟实现带头双向循环链表_第18张图片

 3.主函数:

C语言-数据结构-模拟实现带头双向循环链表_第19张图片

 代码的执行结果如下:

C语言-数据结构-模拟实现带头双向循环链表_第20张图片

你可能感兴趣的:(数据结构,c语言,链表)