数据结构--线性表回顾

目录

线性表

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 顺序表和链表的对比

相关推荐
不爱吃炸鸡柳4 小时前
数据结构精讲:树 → 二叉树 → 堆 从入门到实战
开发语言·数据结构
Aurorar0rua5 小时前
CS50 x 2024 Notes C - 05
java·c语言·数据结构
良木生香6 小时前
【C++初阶】:STL——String从入门到应用完全指南(1)
c语言·开发语言·数据结构·c++·算法
XWalnut6 小时前
LeetCode刷题 day16
数据结构·算法·leetcode·链表·动态规划
寒秋花开曾相惜7 小时前
(学习笔记)4.1 Y86-64指令集体系结构(4.1.4 Y86-64异常&4.1.5 Y86-64程序)
开发语言·jvm·数据结构·笔记·学习
foundbug9998 小时前
基于混合整数规划的电池容量优化 - MATLAB实现
数据结构·算法·matlab
自我意识的多元宇宙9 小时前
树、森林——树与二叉树的应用(哈夫曼树的构造)
数据结构
水蓝烟雨9 小时前
2071. 你可以安排的最多任务数目
数据结构·链表
晓觉儿10 小时前
【GPLT】2026年第十一届团队程序设计天梯赛赛后题解(已写2h,存档中)
数据结构·c++·算法·深度优先·图论
流年如夢11 小时前
自定义类型进阶:联合与枚举
java·c语言·开发语言·数据结构·数据库·c++·算法