谈谈双向链表(一)

在谈双向链表之前,要首先明确一下线性表的概念,因为双向链表是线性表的另一种链式存储形式。下面首先说下线性表的定义:

线性表:由有限多个性质相同的数据元素构成的一个序列就是线性表。
接下来,介绍一下双向链表。
双向链表的定义:
双向链表是线性表的的另一种链式存储结构形式。在该存储结构中,每个节点设置了二个方向的指针,分别指向当前节点的直接前驱和直接后继。
双向链表的优点:
克服了单向链表只能向一个方向搜索的缺陷,使用双向链表特别适合向两个方向移动访问的线性表,这样效率比较高。

双向链表的结点结构:
在双向链表中,每个结点除了数据域以外,还有两个指针域,其中一个指针域为后继域(next),用来存放当前结点的直接后继结点的地址;而另一个指针域为前驱域(prior),用来存放当前节点的直接前驱结点的地址。

双向链表的分类:

双向链表分为非循环双向链表和循环双向链表。在非循环双向链表中,最后一个结点的后继域存放的指针指向空(NULL),在循环的双向链表中,最后一个结点的后继域存放的指针指向头结点(head);同理,在非循环双向链表中,第一个结点的前驱域的指针指向空(NULL),在循环的双向链表中,第一个结点的前驱域的指针指向链表的最后一个结点的地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值