2.1线性表的概念
线性表 是由n个类型相同数据元素的有限序列,记作:(a1, a2, … ai, ai+1,… an ),n 是线性表长度。
n=0 时称为空表。
n>0,除第一个元素无直接前驱、最后一个元素无直接后继外,其余的每个数据元素只有一个直接前驱和一个直接后继,数据元素之间具有一对一的关系。
根据定义分析得出线性表的特点:
- 同一性 :属于同一数据对象
- 有穷性:有限个数据元素
- 有序性:元素存在序偶关系
学习了线性表的逻辑结构,接下来给出线性表抽象数据类型ADT的定义。
线性表ADT包括抽象数据类型的名称LinearList,及数据元素、结构关系、基本操作集合三部分,其中数据元素定义域为同一数据对象,结构关系为线性关系,运算集合包括初始化、销毁、置空、判空、求长度、定位、存取、插入、删除元素9 种基本运算。
1、抽象数据类型的使用:
由于抽象数据类型定义了相应模型上的基本运算集,可如同使用整型类型的加、减、乘、除运算集合一样,只要列出线性表抽象数据类型 LinearList,就可直接使用其上的基本运算集。
2、抽象数据类型的作用:
在实际问题中可利用线性表抽象数据类型的 9 种基本运算的组合实现对线性表进行合并、分拆、复制、排序等多种需求。
示例:要求将一个整数表拆分成一个奇数表和一个偶数表,就会从头逐一比较表中元素个数的奇偶性,决定插入到哪个表中,并需要测试表中元素是否比较完毕。