ADT(抽象数据类型)
抽象数据类型(Abstract Data Type 简称ADT)是指一个数学模型以及定义在此数学模型上的一组操作。
这个解释挺抽象难懂的。先介绍一下数据类型
数据类型按“值”是否可分解,将其分为两类:
1.原子类型:其值不可分解,通常由语言直接提供,像C++中的int,float,double等等。
2.结构类型:其值可以分解为若干部分(分量),是程序员自定义的,比如结构体,类等等。
其实,数据类型和抽象数据类型可以看成一种概念。
看到有人举出了“超级玛丽”例子,觉得写得很不错,如下:
就像“超级玛丽”这个经典的任天堂游戏,里面的游戏主角是马里奥,我们给他定义了基本操作,前进、后退、跳、打子弹等。这就是一个抽象数据类型,定义了一个数据对象、对象中各元素之间的关系及对数据元素的操作。至于,到底是哪些操作,这只能由设计者根据实际需要来定。像马里奥可能开始只能走和跳,后来发现应该增加一种打子弹的操作,再后来又有了按住打子弹键后前进就有跑的操作。这都是根据实际情况来定的。
再或者,我们写了一个SList类,可以建立链表,插入删除节点,返回链表长度等等,这就是一个SList ADT。
部分内容转自:http://www.cnblogs.com/yuxiuyan/p/5831587.html