研究线性表的数据存储结构与数据运算
2.1 线性表定义与特点
具有相同特性的数据元素的有限序列
线性表表示如下:
a1是a2的直接前驱,a3是a2的直接后继,(只有内部节点才有直接前驱和直接后继)
1,2,3是元素的下标表示位置,n为表长,n=0时为空表。
eg:
(A,B,C,D,...Z)
数据元素都是字母,线性
2.2多项式运算
正常多项式存储的是每个系数
稀疏多项式存储的是一个对偶(系数,x的指数),不存在的项不需要写
2.3线性表的抽象数据类型
!&取什么值用这个&后面的字母返回值
ADT List{
//数据对象:
//数据关系:
//基本操作:
InitList(&L);
//操作结果:构造一个空的线性表L
DestoryList(&L);
//初始条件:线性表L已存在 操作结果:销毁线性表L
ClearList(&L);
//初始条件:线性表L已存在 操作结果:将L重置为空表
ListEmpty(&L);
//判断是否为为空线性表,返回true 和 false
ListLength(&L);
//返回表中元素个数
GetElem(L, i, &e);
//返回第i个数据元素的值,1 <= i <= Listlength(L)
LocateElem(L, e);
//返回L中第一个与e的值相同的元素的位置,若不存在则返回0
PriorElem(L, cur_e, &pre_e);
//cur_e是数据表中的元素并且不是第一个,用pre_e返回其前驱
NextElem(L, cur_e, &next_e);
//cur_e是数据表中的元素不是最后一个,用next_e返回其前驱
ListInsert(&L, i, e);
//1 <= i <= ListLength(L) + 1, 在L中第i个位置之前插入新的数据元素E,L的长度 + 1
ListDelete(&L, i);
//1 <= i <= ListLength(L), 删除L的第i个数据元素,L的长度减一
TraverseList(L);
//遍历访问L中的节点
}ADT List