线性表
1.定义:一种逻辑结构,线性表是具有相同数据类型的有限个元素的的有限序列
2.说明:
(1)当元素个数为0时为空表
(2)除第一个元素和最后一个元素,每个元素都有一个直接前驱直接后继
(3)第一个元素无前驱,最后一个元素无后继
(4)线性表中每一个数据元素可由若干数据项组成
举例:点名册:点名册由姓名、学号等数据项组成
3.线性表的抽象数据类型(所谓抽象数据类型,在我理解下为把基本的操作和元素之间的逻辑关系提取出来就构成了抽象数据类型)
ADT List
Data
数据元素之间是一对一关系,除第一个元素和最后一个元素外每个元素都有一个直接前驱,一个直接后继,数据对象的集合{a1…an},每个元素具有相同的数据类型(例:ElemType)
Operation
InitList(*L) //初始化,返回一个空表,因为要对表修改,就要使用指针
ListEmpty(L) //判空,只是对表进行判断,没有对表的内容进行修改,所以不需要指针
ClearList(*L) //清空表,对表进行了修改,要使用指针
GetElem(L,i,*e) //查找第i个位置的元素,将元素值返回给e,这三个参数分别表明了,要对谁操作,对哪个位置操作,以及 结束后返回给谁
LocateElem(L,e) //查找L中与e相同的元素,若存在返回该位置的序号,否则失败
ListInsert(*L,i,e) //把e插入到L中的第i个位置
ListDelete(*L,i,*e) //把第i个位置的元素删除,并用e返回该位置的元素
ListLength(L) //返回线性表中所含元素的个数
endADT