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

马谦马谦马谦 2018年3月25日15:14:16 发表评论

链表是一种线性结构,通过多个节点彼此串联起来,能很方便地进行插入和删除操作。

其数据结构中包含两个部分,一个代表当前元素的内容data,还有一个指针next记录下一个元素的地址。

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

链表的接口多样化,根据不同的需求有不同的操作方法,没有统一的接口函数。

一、链表节点实现

1.1 节点类定义

节点中有一个CMyList<T>*的指针,用于记录当前节点所属的链表。

学习golang源码的时候看到的,觉得很精妙,就沿用了下来。

1.2 节点实现

节点主要是getset操作,和其他数据结构的节点差不多。

二、链表实现

2.1 类定义

2.2 析构函数

执行析构时要释放所有的节点,root节点不是指针,类对象析构时会自动删除。

2.3 插入节点

添加节点流程:

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

2.4 删除节点

删除节点流程:

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

2.5 其他相关函数

2.6 链表遍历

本文共执行45次查询,耗时0.288秒!
马谦马谦马谦

发表评论

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