1
0
mirror of https://github.com/142vip/408CSFamily.git synced 2026-04-24 10:39:50 +08:00

fix: 修改docs

This commit is contained in:
mmdapl
2022-04-23 00:07:20 +08:00
parent 264e76a03a
commit 7fcdfb829f
143 changed files with 31625 additions and 0 deletions

66
docs/DS/linear_table.md Normal file
View File

@@ -0,0 +1,66 @@
---
title: 线性表
---
<!--
* @Description:
* @Version: Beta1.0
* @Author: 【B站&公众号】Rong姐姐好可爱
* @Date: 2021-03-07 21:57:27
* @LastEditors: 【B站&公众号】Rong姐姐好可爱
* @LastEditTime: 2022-04-09 01:06:17
-->
<!-- ## 线性表的基础概念和基本操作 -->
## 基础概念和基本操作
> 强调线性表是一种逻辑结构,不是存储结构
### 定义
线性表是具有相同数据类型的nn≥0个数据元素的有限序列。一般表示
L=(a<sub>1</sub>,a<sub>2</sub>,a<sub>3</sub>......a<sub>n</sub>) 其中n可以理解为表长线性表的长度n=0时候即表空
- `表头元素`线性表中唯一的“第一个”数据元素例如a<sub>1</sub>
- `表尾元素`线性表中唯一的“最后一个”数据元素例如a<sub>n</sub>
重要逻辑特性:
- 除表头元素外,线性表中每个元素有且仅有一个`直接前驱`
- 除表尾元素外,线性表中每个元素有且仅有一个`直接后继`
基于此,这种**线性有序的逻辑结构**,使得线性表的特点如下:
- 元素的**个数有限**(强调有限序列)
- 元素在逻辑上具有**顺序性**,在序列中每个元素都是都有先后次序的
- 元素都数据元素,**每个元素都是单个元素**
- 元素的**数据类型都相同**(强调相同数据类型),每个数据元素占用相同大小的存储空间
- 元素具有**抽象性**,仅仅讨论元素之间的逻辑关系,不需要去考虑元素究竟表示的什么内容
> Tips: **线性表是一种逻辑结构**,表示元素之间一对一的相邻关系。**顺序表和链表则指的是存储结构**
### 基本操作
- `InitList(&L)` **初始化表**。构造空的线性表
- `Length(L)`**获取表的长度**。返回线性表L的长度即表中的数据元素个数
- `LocateElem(L,e)`**按值查找操作**。在表L中国查找具有给定关键字的元素
- `GetElem(L,i)`**按位查找操作**。获取表中第i个位置的元素的值
- `ListInsert(&L,i,e)`**插入操作**。在表的第i个位置上插入指定元素e
- `ListDelete(&L,i,&e)`**删除操作**。删除表中第i个位置的元素并用e返回删除元素的值
- `PrintList(L)`**输出操作**。按照前后顺序1、2....n输出线性表的所有元素值
- `Empty(L)`**判空操作**。当表L为空则返回true否则返回false
- `DestoryList(&L)`**销毁操作**。将线性表销毁释放线性表L所占用的内存空间类似释放内存
线性表是具有相同的数据类型的有限个数据元素组成的,**数据元素是由数据项组成的**