声明部分:
typedef struct Dnode
{
int data;
struct Dnode *prior, *next;
} Dnode, *DLinkList; // DLinkList 双链表
//以下操作均为带头结点的双链表
DLinkList CreateDLinkList(); //创建双链表
void DestoryDLinkList(DLinkList *L); //销毁双链表
int DListIsEmpty(DLinkList L); //判空:=0为空表,=1为非空表
Dnode *GetDListElem(DLinkList L, int index); //按位查找:按位序查找该结点的指针
int InsertNextDNode(Dnode *node, int elem); //后插法:在node指针所指的结点后插入一个新节点
int InsertPriorDNode(Dnode *node, int elem); //前插法:在node指针所指的结点前插入一个新节点
int DeleteDNode(Dnode *node); //删除指定节点,仅给定需要删除的结点的指针
int DeleteNextDNode(Dnode *node); //删除指定节点的后继节点
int DeletePriorDNode(Dnode *node); //删除指定节点的前驱节点
每个函数的具体定义:
创建双链表:
DLinkList CreateDLinkList()
{
DLinkList L = (Dnode *)malloc(sizeof(Dnode));
if (L == NULL)
这篇博客详细介绍了如何使用C语言来操作双链表,包括创建、销毁链表,判断链表是否为空,以及增删改查等基本操作。还特别提到了循环单链表和循环双链表的概念。
最低0.47元/天 解锁文章
753

被折叠的 条评论
为什么被折叠?



