线性表
相关视频参考(来自动力节点):www.bilibili.com/video/BV13C…
相关资料下载:www.bjpowernode.com/?juejin
什么是线性表?
线性表:由零个或多个数据元素足证的有限序列。
首先,它是一个序列,元素之间有一个先来后到。若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他元素都有一个前驱和后继。
另外,线性表强调是有限的,事实上无论计算机发展到多强大,它所处理的数据都是有限的。允许有空表,线性表元素的个数n=0时,称为空表。
抽象数据类型
数据类型:是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。
例如:整型、浮点型、字符型这些指的就是数据类型。
例如按照取值的不同,数据类型可以分为两类:
- 原子类型:不可以再分解的基本类型,例如:整形、浮点型、字符型等。
- 结构类型:由若干个类型组合而成,可以再分解,例如整型数组是由若干个整型数据组成的。
抽象类型:是指一个数学模型及定义在该模型上的一组操作。抽象数据类型的定义仅取决于它的一组逻辑特性,与其在计算机内部如何表示和实现无关。例如我们定义一个坐标point由x、y、z三个整型数据组合,那么point就是一个抽象数据类型。
线性表的类型定义
ADT LIST{
数据对象:D={ai|ai属于elemset,(i=1,2,...n,n>=0)}
数据关系:R ={<ai-1,ai>|ai-1,ai属于D,(i=2,3,...,n)}
基本操作:
initList(&L); //初始化
DestroyList(&L); //销毁
ListInsert(&L,i,e);//插入
ListDelete(&L,i,&e);//删除
...等等
}ADT Lis