数据结构C语言-双链表的定义、销毁及增删改查

这篇博客详细介绍了如何使用C语言来操作双链表,包括创建、销毁链表,判断链表是否为空,以及增删改查等基本操作。还特别提到了循环单链表和循环双链表的概念。
摘要由CSDN通过智能技术生成

声明部分:

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)
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值