1.3抽象数据类型ADT
数据类型:
数据对象集
数据集合相关联的操作集
抽象
描述数据类型的方法不依赖具体实现
一个抽象数据类型的软件模块应包含定义、表示和实现三部分
抽象数据类型的定义
ADT 抽象数据类型名{
数据对象:
数据关系:
基本操作:
构造操作(&L)
销毁操作(&L)
加工型操作(&L)
引用型操作(L)
}ADT 抽象数据类型名
抽象数据类型的表示与实现
①通常先进行预定义
#define ERROR 0
#define OK 1
#define TRUE 1
#define FALSE 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int Status
注
(1)define是预处理指令,在编译预处理时进行简单的替换,不做正确性的建和擦,不管含义是否正确照样进行替换,只有在编译已被展开的源程序时才会发现可能的错误并出错。
(2)typedef作用时声明一个新的类型名代替已有的类型名,是在编译时处理的。它在自己的作用域内给一个已经存在的类型一个别名,他是语言编译过程的一部分,并不实际分配内存空间
②接着进行结构体定义
typedef struct Node{
ElemType data;
struct Node *p;
}Node,*PNode;
③最后基本操作都写在函数里
Status InitList(&L){
......;
return TRUE;
}