线性表的定义
线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列。其中n为表长,当n=0时该线性表是一个空表。若用L命名线性表,则其一般表示如下:
其中a1是唯一的“”第一个“”数据元素,又称为表头元素:an是唯一的“”最后一个“”数据元素,又称为表尾元素。除第一个元素外,每一个元素有且仅有一个直接前驱。除最后一个元素外,每一个元素有且仅有一个直接后继。
线性表的基本操作
1.InitList(&L)
/操作结果:构造一个空的线性表/
2.DestroyList(&L)
/初始条件:线性表L已存在/
/操作结果:销毁线性表L/
3.ClearList(&L)
/初始条件:线性表L已存在/
/操作结果:将L重置为空表/
4.ListEmpty(L)
/初始条件:线性表L已存在/
/操作结果:若L为空表,则返回TRUE,否则返回FALSE/
5.ListLength(L)
/初始条件:线性表L已存在/
/操作结果:返回L中数据元素个数/
6.GetElem(L,i,&e)
/初始条件:线性表L已存在,1≤i≤LIST_SIZE/
/操作结果:用e返回L中第i个数据元素的值/
7.LocatElem(L,e,compare())
/初始条件:线性表L已存在,compaer()是数据元素判断函数/
/操作结果:返回L中第1个与e满足关系compaer()的数据元素的位序。若这样的数据元素不存在,则返回0/
8.PriorElem(L,cur_e,&pre_e)
/初始条件:线性表L已存在/
/操作结果:若cur_e是L的数据元素,且不是第一个,则用pre_e返回它的前驱,否则操作失败,pre_e无定义/
9.NextElem(L,cur_e,&next_e)
/初始条件:线性表L已存在/
/操作结果:若cur_e是L的数据元素,且不是最后一个,则用next_e返回它的后续,否则操作失败,next_e无定义/
10.ListInsert(&L,i,e)
/初始条件:线性表L已存在/
/操作结果:在L中第i个位置之前插入新的数据元素e,L的长度加1/
11.ListDelete(&L,i,&e)
/初始条件:线性表L已存在/
/操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减1/
12.PrintList(L)
/初始条件:线性表L已存在/
/操作结果:输出操作。按照前后顺序输出线性表L的所有值/