数据结构--线性表回顾

目录

线性表

1.定义

2.线性表的基本操作

3.顺序表的定义

3.1顺序表的实现--静态分配

3.2顺序表的实现--动态分配

4顺序表的插入、删除

4.1插入操作的时间复杂度

4.2顺序表的删除操作-时间复杂度

[5 顺序表的查找](#5 顺序表的查找)

5.1按位查找

[5.2 动态分配的方式](#5.2 动态分配的方式)

5.3按位查找的时间复杂度

[5.4 按值查找](#5.4 按值查找)

[5.4.1 结构类型的顺序表的比较](#5.4.1 结构类型的顺序表的比较)

5.4.2按值查找的时间复杂度

6.单链表

6.1单链表的定义

​编辑

6.1.2使用代码实现单链表

[6.1.3 tpyedef的作用](#6.1.3 tpyedef的作用)

[6.1.4 初始化一个单链表](#6.1.4 初始化一个单链表)

6.2单链表的插入和删除

6.2.1按位序插入(带头结点)

6.2.2按位序插入(不带头结点)

6.3单链表的建立

7.双链表

[7.1 双链表的初始化(带头结点)](#7.1 双链表的初始化(带头结点))

7.2双链表的插入​编辑

[7.3 双链表的删除](#7.3 双链表的删除)

7.4双链表的遍历​编辑

8.循环链表

8.1循环单链表

8.1.2循环单链表的时间复杂度

8.2循环双链表

8.2.1循环双链表的初始化

9.静态链表

9.1静态链表的定义​编辑

9.2基本操作的实现(不考代码)​编辑

[10 顺序表和链表的对比](#10 顺序表和链表的对比)


线性表

1.定义

线性表注意的地方

(1)相同的数据类型

(2)有序

(3)有限

(4)位序是从1开始的,而数组下标是从0开始的

2.线性表的基本操作

3.顺序表的定义

3.1顺序表的实现--静态分配

起始地址=上一块的起始地址+数据元素的大小

3.2顺序表的实现--动态分配

4顺序表的插入、删除

4.1插入操作的时间复杂度

4.2顺序表的删除操作-时间复杂度

5 顺序表的查找

5.1按位查找

静态分配的方式

5.2 动态分配的方式

5.3按位查找的时间复杂度

5.4 按值查找

案例

5.4.1 结构类型的顺序表的比较

判断两个顺序表结构类型是否相同,不可以使用==,需要自己定义

5.4.2按值查找的时间复杂度

6.单链表

6.1单链表的定义

6.1.2使用代码实现单链表

6.1.3 tpyedef的作用

6.1.4 初始化一个单链表

(不带头结点的单链表)

(带头结点的单链表)

6.2单链表的插入和删除

6.2.1按位序插入(带头结点)

6.2.2按位序插入(不带头结点)

6.3单链表的建立

7.双链表

7.1 双链表的初始化(带头结点)

7.2双链表的插入

7.3 双链表的删除

7.4双链表的遍历

8.循环链表

8.1循环单链表

8.1.2循环单链表的时间复杂度

8.2循环双链表

8.2.1循环双链表的初始化

9.静态链表

9.1静态链表的定义

9.2基本操作的实现​​​​​​​(不考代码)

10 顺序表和链表的对比

相关推荐
PaperAccept1 小时前
【研知有术论文发表】材料科学一区期刊,影响因子30+的纳米科技SCI,审稿严格但有效率
大数据·数据结构·科技·量子计算
Tairitsu_H2 小时前
[C++高阶数据结构·图论下] 最短路径:为什么“挑最小的”一定正确?
数据结构·c++·图论
MicrosoftCloud2 小时前
计网 14|HTTP 协议核心:报文结构、状态码、持续连接
计算机网络·考研·http·状态码·408·万维网·持续连接
Tairitsu_H3 小时前
[C++高阶数据结构·图论上] 最小生成树:为什么“选边”和“选点”是两条路?
数据结构·c++·图论·最小生成树
aichitang202417 小时前
代数拓扑学与现代前沿视角
考研·算法·数学建模·ai·拓扑学·高考
D e re k ZH19 小时前
C++ 并发、未定义行为与工程化难点(No 3)
数据结构·c++·算法·面试
La Pulga21 小时前
【FreeRTOS源码学习笔记】链表的实现
数据结构·笔记·stm32·mcu·链表·嵌入式·freertos
MicrosoftCloud1 天前
计网 12|ARP、DHCP、ICMP:地址解析、动态分配与差错报告
计算机网络·考研·408·arp·dhcp·icmp·ping
番茄味城市甜菜1 天前
数据结构:双向链表实现,链表与顺序表的对比
数据结构·链表
优化控制仿真模型1 天前
2026【英一】考研英语一历年真题及答案解析PDF电子版(1980-2025年)
考研·pdf