
单链表
定义


顺序表优点:可随机存取,存储密度高,缺点:要求大片连续空间,改变容量不方便。
单链表优点:不要求大片连续空间,改变容量方便,缺点:不可随机存取,要耗费一定空间存放指针。
定义单链表的代码:
定义数据领和指针域
定义一个新节点
定义typedef关键字来缩短函数书写麻烦
所以综上定义单链表有两种方式
要表示一个单链表时,只需声明一个头指针L,指向单链表的第一个结点
LNode * L; //声明一个指向单链表第一个结点的指针,或者LinkList L;//声明一个指向单链表第一个结点的指针,后者代码可读性更强。
- 强调这是一个单链表–使用 LinkList
- 强调这是一个结点–使用LNode*
- 二者本质相同,都用于定义一个类型为单链表的指针

初始化一个不带头节点的单链表:

初始化一个带头节点的单链表:


基本操作的实现

单链表的插入

按位序插入
带头结点插入
不带头结点插入
指定节点的前插
- 法1:用已知头指针来遍历链表插入

- 法2:用已知p节点后插入数据来转移数据(时间复杂度为O(1))

指定节点的后插


单链表的删除
- 法1:用已知头指针来遍历链表删除
- 法2:用已知p节点删除数据(时间复杂度为O(1))(且p节点不能为最后一个节点)
小结

本文详细介绍了单链表的定义、顺序表比较、以及单链表的插入(按位序前后插入)和删除操作,包括两种方法的时间复杂度分析。重点展示了如何使用typedef简化代码和初始化不同类型的单链表。











3865

被折叠的 条评论
为什么被折叠?



