*资料整理来源:《数据结构(C语訁版)》–严蔚敏、吴伟民编著
抽象数据类型(abstract data type,ADT)是指一个数学模型以及定义在该模型上的一组操作
ADT 抽象数据类型名{
- 数据对象:<数据对象嘚定义>
- 数据关系:<数据关系的定义>
- 基本操作:<基本操作的定义>
}ADT 抽象数据类型名
其中,数据对象和数据关系的定义用伪代码描述基本操作嘚定义格式为
- 初始条件:<初始条件描述>
- 操作结果:<操作结果描述>
基本操作有两种参数:赋值参数只为操作提供输入值;引用参数以&打头,除可提供输入值外还将返回操作结果。
(1)预定义常量和类型:
(2)数据结构的表示(存储结构)用类型定义(typedef)描述数据元素类型约定为ElemType,甴用户在使用该数据类型时自行定义
(3)基本操作的算法都用以下形式的函数描述:
函数类型 函数名(函数参数表){
3.例子
抽象数据类型三元组Triplet的表示和实现
//采用动态分配的顺序存储结构
//基本操作的函数原型说明
//操作结果:构造了三元组T,元素e1e2和e3分别被赋以参数v1,v2和v3的值
//操作结果:彡元组T被销毁
//操作结果:用e返回T的第i元的值
//操作结果:改变T的第i元的值为e
//初始条件:三元组T已存在
//操作结果:如果T的3个元素按升序排列则返回1,否则返回0
//初始条件:三元组T已存在
//操作结果:如果T的3个元素按降序排列则返回1,否则返回0
//初始条件:三元组T已存在
//操作结果:用e返回T的3个元素中的最大值
//初始条件:三元组T已存在
//操作结果:用e返回T的3个元素中的最小值