“开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 8 天,点击查看活动详情”
一.线性表的定义以及基本操作
1.线性表的定义
- 具有相同数据类型的n个数据元素的有限序列,通常用L来命名线性表。
- ,a1称为表头元素,an是表尾元素。
需要注意:
- 除了第一个元素,也就是a1之外,每个元素有且只有一个直接前驱
- 除了最后一个元素,也是an之外,每个元素有且只有一个直接后驱
2.线性表的特点
- 表中元素个数有限个
- 元素具有逻辑上的顺序性,有先后之分
- 都是数据元素,且都是单个元素
- 元素数据类型都相同,每个元素占有相同的存储空间
- 元素具有抽象性,仅仅讨论元素之间的逻辑关系,不考虑元素的内容
注意:
- 线性表只是一种逻辑结构,逻辑结构也就是线性或者非线性,表示元素之间一对一的相邻关系。
- 顺序表和链表是存储结构,存储结构包括:顺序存储,链式存储,索引存储,数列存储。
二.线性表的基本操作
1.初始化表:构造一个空的线性表
InitList(L)
2.求表的长度:返回的是线性表的长度也就是元素的个数
Length(L)
3.查找指定值:找出给定关键字的元素
LocateElem(L,e)
4.按照位置查找元素:找到表中第i个元素
GetElem(L,i)
5.插入操作:在第i个位置插入指定元素e
ListInsert(&L,i,e)
6.删除操作:删除表中第i个元素,并且用e来返回删除元素的值
ListDelete(&L,i,&e)
7.输出操作:按照前后顺序输出元素
PrintList(L)
8.判空操作:空返回true,非空返回false
Empty(L)
9.销毁操作:销毁表释放内存空间
DestoryList(&L)
三.整体框架
-
线性表分成顺序存储和链式存储
-
顺序存储---顺序表
-
链式存储---单链表,双链表以及循环链表 (上述三个都用指针来实现)
---静态链表(借助数组来实现)
“开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 8 天,点击查看活动详情”