2.1.1 抽象数据类型线性表的定义

  通常可以下列" n 个数据元素的序列"表示线性表 (Linear_List)
   ( ,,...,,..., )
  序列中数据元素的个数 n 定义为线性表的表长;n=0 时的线性表被称为空表。称 i 为 在线性表中的位序
 

 


  由此,我们也可以将线性表看成是由 (i,) 构成的集合。
 
   其抽象数据类型的定义如下:
ADT List {
 数据对象:D={ | ∈ ElemSet, i=1,2,...,n, n≥0 }
 
    线性表中的数据元素可以是各种各样的,只要是属于同一个集合即可。
  例如,26个小写英文字母是一个线性表
     (a,b,…,z)
同一花色的13张扑克牌
  (2,3,4,5,6,7,8,9,10,J,Q,K,A)
可以构成一个线性表。
 
 
   数据关系:R1={ <ai-1 ,ai >| ,∈D, i=2,...,n }     序偶 <,> 表示 的直接前驱,反之, 的直接后继。
 
 
   基本操作:
  {结构初始化}
  InitList( &L )
   操作结果:构造一个空的线性表 L 。
 
    线性表的操作很多,为讨论方便起见,在此将它归为四类。
  任何数据结构在被使用之前都必须进行"初始化" ,它类似于编程中使用的变量都必须先有定义。
 
 
    {销毁结构}
  DestroyList( &L )
   初始条件:线性表 L 已存在。
   操作结果:销毁线性表 L 。
    任何数据结构不再使用时都必须进行"结构销毁" ,其实质为"释放"它所占有的存储空间。