数据结构之列表:双向链表的实现

马谦马谦马谦
马谦马谦马谦
马谦马谦马谦
606
文章
12
评论
2018年3月25日16:57:24 评论

双向链表是链表的一个分支,相比单向链表来说多了个一个前向指针pre,指向当前节点的前一个节点,查找起来更为灵活。

数据结构之列表:双向链表的实现

二、链表节点实现

双向链表的节点可以继承单向链表的节点,添加一个pre成员即可。两者声明和实现方式都差不多:

二、链表实现

2.1 类声明

双向链表和单链表非常相似,因此没有添加很多操作函数。

在单项链表中,root节点用来指向第一个节点的地址,在双向链表中依旧可以这么使用,同时还可以使用root.pre表示最后一个节点。

2.2 构造和析构

2.3 插入节点

2.5 删除节点

2.6 其他操作

历史上的今天
三月
25
马谦马谦马谦
  • 本文由 发表于 2018年3月25日16:57:24
  • 转载请务必保留本文链接:https://www.dyxmq.cn/program/algorithms/double-list.html
二叉树的后序遍历 数据结构和算法

二叉树的后序遍历

一、后序遍历 后序遍历逻辑:优先访问左、右子节点,然后访问当前节点。 一个后序遍历的示例,它的后序遍历结果为: 二、非递归实现 后序遍历的非递归实现比前序和中序的非递归实现要复杂很多,因为每个节点都可...
二叉树的中序遍历 数据结构和算法

二叉树的中序遍历

一、中序遍历 中序遍历过程:先访问左子节点,然后访问当前节点,最后访问右子节点。 以下试一次中序遍历过程: 二、非递归实现 非递归方式遍历依赖栈来实现,因为要先访问子节点,然后访问父节点,因此必须要有...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: