目录 1 线性表 1.1 线性表的定义 1.2 线性表的基本操作 2 线性表的顺序表示 2.1 顺序表定义 2.2 顺序表的实现——静态分配 2.3 顺序表的实现——动态分配 2.4 顺序表的基本操作 2.4.1 插入 2.4.2 删除 2.4.3 按位查找 2.4.4 按值查找 3 线性表的链式表示 3.1 单链表定义 3.1.1 代码定义单链表 3.1.2 不带头结点的单链表的初始化 3.1.3 带头结点的单链表的初始化 3.2 单链表的基本操作 3.2.1 按位序查找 3.2.2 按值查找 3.2.3 指定结点的后插操作 3.2.4 指定结点的前插操作 3.2.5 按位序插入(带头结点) 3.2.6 按位序插入(不带头结点) 3.2.7 指定结点的删除 3.2.8 按位序删除(带头结点) 3.2.9 单链表的整表删除 3.2.10 求表长度 3.2.11 采用尾插法创建单链表 3.2.12 采用头插法创建单链表 3.2.13 单链表的就地逆置 4 双链表 4.1 双链表定义 4.1.1 双链表代码定义 4.1.2 双链表初始化(带头结点) 4.2 双链表的基本操作 4.2.1 双链表指定结点的后插操作 4.2.2 双链表的删除 4.2.3 双链表的整表删除 4.2.3 双链表的遍历 5 循环链表 5.1 循环单链表 5.1.1 循环单链表定义 5.1.2 初始化一个循环单链表 5.1.3 判断一个循环单链表是否为空 5.1.3 判断结点是否为循环单链表的表尾结点 5.2 循环双链表 5.2.1 循环双链表定义 5.2.2 循环双链表的初始化 5.2.3 判断循环双链表是否为空 5.2.4 判断结点是否为循环双链表的表尾结点 5.2.5 循环双链表指定结点的后插操作 5.2.6 循环双链表的删除 6 静态链表 6.1 静态链表定义 6.1.1 用代码定义一个静态链表 6.2 静态链表基本操作 7 顺序表和链表对比 7.1 逻辑结构对比 7.2 存储结构对比 7.3 基本操作对比(创销、增删改查) 7.4 总结(两者的使用场景) 1 线性表 1.1 线性表的定义 线性表:具有相同数据类型的n(n≥0)个数据元素的有限序列。 L = (a1, a2, … , ai , ai+1, … , an) 非空的线性表的逻辑特点: ai是线性表中的“第i个”元素线性表中的位序(位序从