=======
抽象数据类型:
数据类型:
-原子类型
-结构类型
抽象:
抽象(封装 黑盒)
抽象数据类型:
-类
-仅取决于逻辑,不关注实现过程!
-c std库中的函数,win linux mac 32bit 64bit ... 结果一样 过程不同
-计算 1+1 不同sys 过程不同 但是结果唯一 执行的运算方法被抽象出来, 过程被封装了。
格式:
ADT 抽象数据类型名
Data
数据元素之间逻辑关系的定义
Operation
操作
endADT
线性表:
有限 序列
前驱 后继
-1-2-3-4-5-6-7-8-9-
a1 - a2 - a3 - a4 - a5 - ai-1 - ai - ai+1 - ... - an
线性 - 有 且 只 有 一个前驱或后继
线性表的
抽象数据类型:
ADT 线性表(List)
DATA
有限 序列
前驱 后继
Operation
InitList(*L);
ListEmpty(L); true/false
ClearList(*L);
GetElem(L, i, *e);
LocateElem(L,e); 序号/0标识失败 线性表下标 从 1 开始
ListInsert(*L , i, e); L[i] = e
ListDelete(*L,i,*e); tmp = delete(L[i]=e); --- *tmp == e
ListLength(L);
endADT
案例: 伪代码
int A[] = {'a','b','c'};
int B[] = {'a','b','d'};
问: AUB
InitList() // array A
GetElem() // A -> 1 , 2, 3 ...
main()
{
int A[];
int List[] = malloc();
InitList();
for( 1 - len){
num = LocateElem(B , );
if(num == 0)
{
ListInsert( arrayList );
}
}
}
posted on 2017-08-08 10:32
silvercell 阅读(81)
评论(0) 编辑 收藏 引用 所属分类:
数据结构和算法