单链表
定义
顺序表优点:可随机存取,存储密度高,缺点:要求大片连续空间,改变容量不方便。
单链表优点:不要求大片连续空间,改变容量方便,缺点:不可随机存取,要耗费一定空间存放指针。
定义单链表的代码:
定义数据领和指针域
定义一个新节点
定义typedef关键字来缩短函数书写麻烦
所以综上定义单链表有两种方式
要表示一个单链表时,只需声明一个头指针L,指向单链表的第一个结点
LNode * L; //声明一个指向单链表第一个结点的指针,或者LinkList L;//声明一个指向单链表第一个结点的指针,后者代码可读性更强。
- 强调这是一个单链表–使用 LinkList
- 强调这是一个结点–使用LNode*
- 二者本质相同,都用于定义一个类型为单链表的指针
初始化一个不带头节点的单链表:
初始化一个带头节点的单链表:
基本操作的实现
单链表的插入
按位序插入
带头结点插入
不带头结点插入
指定节点的前插
- 法1:用已知头指针来遍历链表插入
- 法2:用已知p节点后插入数据来转移数据(时间复杂度为O(1))
指定节点的后插
文章来源:https://www.toymoban.com/news/detail-836335.html
单链表的删除
- 法1:用已知头指针来遍历链表删除
- 法2:用已知p节点删除数据(时间复杂度为O(1))(且p节点不能为最后一个节点)
小结
文章来源地址https://www.toymoban.com/news/detail-836335.html
到了这里,关于数据结构(4) 链表(链式存储)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!