线性表

156 阅读1分钟

线性表

0个或多个数据元素组成的有限序列
有先来后到、有限、唯一的开始和唯一的结束
第一个元素无前驱,最后一个元素无后继,除此之外每个元素都有唯一的前驱和后继

抽象数据类型 ADT

一个数学模型及定义在该模型上的一组操作
:ADT 抽象数据类型名
Data
数据元素之间逻辑关系的定义
Operation
操作
endADT

顺序表的基本操作

InitList(*L):初始化操作 ,建立一个空的线性表L
ListEmpty(L):判断线性表是否为空表,若线性表为空,返回true,否则返回Flase
ClearList(*L):清空线性表
GetElem(L,i,*e):将线性表L中的第i个位置元素值返回给e
LocateElem(L,e):在线性表L中查找与给定值e相等的元素,如果查找成功,返回该元素在表中序号表示成功;否则返回0表示失败
ListInsert(*L,i,e):在线性表L中第i个位置插入新元素e
ListDelete(*L,i,*e):删除线性表L中第i个位置元素,并用e返回其值
ListLength(L):返回线性表L的元素个数

typdef

优点:
1.简化复杂的类型声明
2.提高代码可移植性
就比如你之前定义了一个数据类型是 int
typedef int ElemType //给int起别名叫ElemType
就可以Elemtype a; 这个时候a就是一个int型
但是有一天你要把变成char
只需要typedef char ElemType后 之前所有拿ElemType定义的变量就变成了char型