线性表
- 排队的时候只需要记住前一个元素和后一个元素就可以了
- 线性表,像排队一样,具有线一样性质的结构
- 线性表(List):由零个或者多个数据元素组成的有限序列
需要注意的几个关键的地方:
- 1 首先它是一个序列,也就是说元素之间是有个先来后到的
- 2 若元素存在多个,则第一个元素无前驱,而最后一个元素无后继,其他元素都有并且只有一个前后元素
- 3元素是有穷的
- 数学语言进行定义:a1,a2,ai-1,ai,ai+1...an
- 所以线性表元素的个数n(n>=0),当长度n为0时候,则线性表为空
抽象数据类型
-
指一组性质相同的值的集合以及定义在此集合上的一些操作的总称
-
原子类型:不可以再分解的基本类型,例如整型、浮点型等
-
结构类型:有若干个类型组合而成,是可以再分解的,例如整型数组是由若干整型数据组成的
-
抽象:是指抽取事物具有的普遍性的本质。
-
抽象数据类型(Abstract Data Type,ADT)是指一个数学模型的定义仅取决于它的一组逻辑特性,而在其计算机内如何表示和实现无关。
模拟一个求两个集合的并集伪代码(C):
void unionL(List *La,list Lb)
{
int La_len,Lb_len,i;
ElemType,e;
La_len = ListLength(*La);
Lb_len = ListLength(Lb);
for(i=1;i<=La_len;i++){
//从某个集合中
GetElem(Lb,i,&e)
//查找当前元素是否不在La集合中
if(!LocateElem(*La,e)){
//在线性表中的i位置插入某个元素
ListInsert(La,++La_len,e);
}
}
}
网友评论