ADT(抽象数据类型)

抽象数据类型(Abstract Data Type 简称ADT)是指一个数学模型以及定义在此数学模型上的一组操作。

这个解释挺抽象难懂的。先介绍一下数据类型

数据类型按“值”是否可分解,将其分为两类:

1.原子类型:其值不可分解,通常由语言直接提供,像C++中的int,float,double等等。

2.结构类型:其值可以分解为若干部分(分量),是程序员自定义的,比如结构体,类等等。

 

其实,数据类型和抽象数据类型可以看成一种概念。

看到有人举出了“超级玛丽”例子,觉得写得很不错,如下:

就像“超级玛丽”这个经典的任天堂游戏,里面的游戏主角是马里奥,我们给他定义了基本操作,前进、后退、跳、打子弹等。这就是一个抽象数据类型,定义了一个数据对象、对象中各元素之间的关系及对数据元素的操作。至于,到底是哪些操作,这只能由设计者根据实际需要来定。像马里奥可能开始只能走和跳,后来发现应该增加一种打子弹的操作,再后来又有了按住打子弹键后前进就有跑的操作。这都是根据实际情况来定的。

 

再或者,我们写了一个SList类,可以建立链表,插入删除节点,返回链表长度等等,这就是一个SList ADT。

 

部分内容转自:http://www.cnblogs.com/yuxiuyan/p/5831587.html

posted @ 2017-06-02 10:56  shixueyuan  阅读(2009)  评论(0编辑  收藏  举报