「这是我参与11月更文挑战的第16天,活动详情查看:2021最后一次更文挑战」
双链表
双链表结构图
image-20211028225455233
双链表节点
1 | c复制代码typedef int LTDataType; //C++中的双链表是用list表示的 |
双链表初始化函数ListInit
1 | c复制代码//双链表初始化函数 |
image-20211028230625085
双链表尾插函数ListPushBack
image-20211029001350843
1 | c复制代码//双链表尾插函数 |
双链表打印函数ListPrint
image-20211029070928255
1 | c复制代码//双链表打印函数 |
双链表尾删函数ListPopBack
image-20211029072838324
1 | c复制代码//双链表尾删函数 |
双链表头插函数ListPushFront
image-20211029080341212
1 | c复制代码//双链表头插函数 |
既然我们头插尾插都遇到了添加节点,所以我们把添加节点的部分抽离出来重新封装一下
获得双链表节点函数BuyListNode
image-20211029191337400
1 | c复制代码//获得双链表节点函数 |
双链表头删函数ListPopFront
image-20211029193358759
1 | c复制代码//双链表头删函数 |
双链表查找函数ListFind
这个一般是和插入,删除配合使用
1 | c复制代码//双链表查找函数 |
双链表插入函数ListInsert(pos之前插入因为c++中就是之前插入的)
image-20211029204212625
1 | c复制代码//双链表插入函数 |
双链表删除函数ListErase(删除pos)
image-20211029205627363
1 | c复制代码//双链表删除函数 |
双链表销毁函数ListDestroy(实际上我在这里写报错了,前面一个函数有bug,但是找到了)
1 | c复制代码//双链表销毁函数 |
代码
DoubleList.h
1 | c复制代码#pragma once |
DoubleList.c
1 | c复制代码#define _CRT_SECURE_NO_WARNINGS 1 |
test.c
1 | c复制代码#define _CRT_SECURE_NO_WARNINGS 1 |
本文转载自: 掘金