1.线性表:线性表是n个数据元素的有限序列。 (n=0时称作空表;) 2.特点:n>0时,除第一个元素无直接前驱,最后一个元素无直接后继外,其余的每个数据元素只有一个直接前驱和一个直接后继

线性表的抽象数据类型:

ADT List {
数据元素:{同类型元素}
数据关系:{有序对偶 }

operation:
1.{初始化}  InitList( &L )   
操作前提:未被初始化。
操作结果:构造一个空的线性表 L 。

2.{取元素}  GetElem( L, i, &e )
操作前提:线性表 L 已存在,1≤i≤LengthList(L)。
操作结果:用 e 返回 L 中第 i 个元素的值。

3.{查找}  LocateElem(L,e):
操作前提:线性表 L 已存在,e为合法元素值。
操作结果:在线性表中L中查找与e相等的元素。若存在,返回元素序号;否则,返回0表示不存在。

4.{插入}  ListInsert(&L,i,e)
操作前提:线性表 L 已存在,1≤i≤LengthList(L)+1。
操作结果:在 L 的第 i 个元素之前插入新的元素 e,L 的长度增15.{删除}  ListDelete( &L, i, &e )
操作前提:线性表 L 已存在且非空,1≤i≤LengthList(L)。
操作结果:删除 L 的第 i 个元素,并用 e 返回其值,L 的长度减1//主要学习以上五种
6.{销毁}  DestroyList( &L )
操作前提:线性表 L 已存在。
操作结果:销毁线性表 L 。

7.{清空}  ClearList( &L )
操作前提:线性表 L 已存在。
操作结果:将 L 重置为空表。

8.{判空}  EmptyList( L )
操作前提:线性表L已存在。
操作结果:若 L 为空表,则返回 TRUE,否则返回 FALSE。

9.{求长度}  ListLength( L )
操作前提:线性表 L 已存在。
操作结果:返回 L 中元素个数。

10{遍历}	TraverseList(L)
操作前提:线性表已存在。
操作结果:对线性表L进行遍历。 

} ADT List

线性表的其它复杂操作,完全可以由以上几种基本操作组合完成。