《大话数据结构》7一文学会数据结构中的双向链表存储结构(概念,实例,代码)

一、什么是双向链表

双向链表指的是在单链表的每个结点中,再设置一个指向其前驱结点的指针域。
所以在双向链表中有两个指针域,一个指向直接前驱,另一个指向直接后继。
(1)空双链表(带头结点)
在这里插入图片描述

(2)非空双链表(带头结点)
在这里插入图片描述

二、线性表的双向链表存储结构

//线性表的双向链表存储结构
 typedef struct DulNode{
 	ElemType data;
 	struct DulNode *prior;//直接前驱指针
 	struct DulNode *next;//直接后继指针
 }DulNode,*DuLinkList;
 

三、双向链表的特点

1.双向链表中,对于链表中的某一个结点p,它的后继的前驱是它自己。它的前驱的后继也是它自己。
用代码表示如下:

p->next->prior=p=p->prior->next;

2.双向链表基本操作
很多操作与单链表是相同的,这些操作使用一个指针就可以了。

3.插入操作
插入的时候,每一步的顺序比较重要。
在这里插入图片描述
4.删除操作
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值