1.线性表( Linear List )的定义——是零个或多个具有相同类型的数据元素的有限序列。
数据元素的个数定义为线性表的 长度 。长度等于零时称为空表。
一个非空表通常记为 L = ( a 1 , a 2 ,……, a n ) 其中, a i ( 1 ≤ i ≤ n )称为数据元素,
下标 i 表示该元素在线性表中的位置或序号, 称元素 a i 位于表的第 i 个位置,或称 a i 是表中的第 i 个元素。
2.线性表的抽象数据类型定义
ADT List
Data
线性表中的数据元素具有相同类型,相邻元素具有前驱和后继关系
Operation
InitList
DestroyList
Length
Get
Locate
Insert
Delete
Empty
PrintList
3.线性表的顺序存储结构-顺序表
特点:线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素。
顺序存储的实现:一维数组存储顺序表中的数据
设顺序表的每个元素占用 c 个存储单元,则第 i 个元素的存储地址为:
LOC ( a i ) = LOC ( a 1 ) + ( i - 1 ) × c
4.顺序表的实现
const int Maxsize=100;
template <class T>
class SeqList{
private:
T data[MaxSize]; // 存放数据元素的数组
int length; // 线性表的长度
public:
SeqList ( ) ;// 无参构造函数
SeqList ( T a[ ], int n ) ; // 有参构造函数
~SeqList( ) { } // 析构函数为空
int Length ( ) {return length;} //