第二章线性表
一、线性表的定义 :
线性表是0个或多个数据元素构成的线性序列,记为(,,........)。
线性表中的数据元素个数n称为线性表的长度。
当n=0时,线性表为空表。(线性表存在,但没有元素)。
设线性表为(,,......,,,......)
其中:
- 是的直接前驱。
- 是的直接后继。
- 没有直接前驱。
- 没有直接后继。
除了和之外,其他元素有且仅有一个直接前驱和一个直接后继。
线性表举例:
- 字母表:(A,B,C,........Z)。
- 学生信息表
二、线性表的抽象数据类型(描述规范)
ADT List {
数据:零个或多个数据元素构成的线性序列(,,........)。
数据元素之间的关系是一对一的关系。
- init(L) :初始化运算
构造一个空的线性表L,若初始化成功返回OK,否则返回ERROR。
- Destory(L) :撤销运算。
判断线性表L是否存在,若已经存在,则撤销线性表L;否则返回ERROR。
- IsEmpty(L):判空运算
判断线性表L是否为空,若为空则返回OK;否则返回ERROR。
- Length(L):求长度运算
若线性表L已经存在,则返回线性表L的元素个数;否则返回ERROR。
- Find(L,i):查找元素。
若线性表L已经存在,且0in-1;则查找线性表L中元素的值,查找成功后返回OK,否则返回ERROR。
- Insert(L,i,x):插入运算。
若线性表L已经存在,且-1in-1,则在元素之后插入新元素x,插入成功后返回OK,否则返回ERROR。
- Delete(L,i):删除运算。
若线性表L非空,且0