抽象数据类型——线性表

来源:互联网 发布:手机记牌器软件 2016 编辑:程序博客网 时间:2024/05/01 15:51
一、线性表的特点:
1.存在惟一的一个“第一个”的元素
2.存在惟一的一个“最后一个”的元素
3.除第一个以外,每个元素均只有一个前驱
4.除最后一个以外,每个元素均只有一个后继


二、线性表的基本操作
1. InitList(&L)
操作结果:构造一个空的线性表L
2.DestroyList(&L)
初始条件:线性表L已存在
操作结果:销毁线性表L
3.ClearList(&L)
初始条件:线性表L已存在
操作结果:清空线性表 
4.ListEmpty(&L)
初始条件:线性表L已存在
操作结果:若L为空表,返回TRUE;否则返回FALSE
5.ListLength(&L)
初始条件:线性表L已存在
操作结果:返回L中数据元素的个数
6.GetELem(L,i,&e)
初始条件:线性表L已存在,1<=i<=ListLength(L)
操作结果:返回L中第i个数据元素的值
7.LocateElem(L,e,compare())
初始条件:线性表L已存在,compare()是数据元素判定函数
操作结果:返回L中第1个与e满足关系compare()的数据元素的位序。若这样的数据元素不存在,则返回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已存在,1<=i<=ListLength(L)+1
操作结果:在L中第i个位置之前插入新的数据元素e,L的长度加1


11.ListDelete(&L,i,&e)
初始条件:线性表L已存在,1<=1<=ListLenght(L)
操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减1


12.ListTraverse(L,visit())
初始条件:线性表L已存在
操作结果:依次对L的每个数据元素调用函数visit(),一旦visit()失败,则操作失败


三、线性表的复杂操作
1.将两个或两个以上的线性表合并成一个线性表


2.把一个线性表拆开成两个或两个以上的线性表


3.重新复制一个线性表

原创粉丝点击