2017-12-02 266 views
1

因此,在研究数据结构时,我想出了一个问题。数据结构 - 抽象数据类型(ADT)VS具体数据类型(CDT)

CDT是完全成熟的ADT,即ADT的实现。

因此.h文件实际上是一个ADT(只有操作并且没有关于它们将如何执行的讨论)。

但是通过显示.cpp文件,即实现文件。

我们可以得出结论:我们使用具体的数据结构,即数组或链表创建了一个具体的数据类型的堆栈?

是这样吗?纠正我,如果我错了。

回答

0

数组,列表和树是具体的数据类型。它们是通常由计算机语言提供的基本数据结构。 堆栈,队列和堆是抽象数据类型。它们只是想法,即具有明确行为的“黑盒子”。要实现它们,你必须选择一个合适的具体数据类型。 特别是,堆栈和队列可以通过数组或链表来实现。 堆可以通过数组或二叉树实现

0

至少在常规使用的术语中,这不完全是。

一个抽象数据类型是一个mathematical model of a type基于可用的状态和操作的声明。

我想你可能会想到一个抽象的,这是一个没有完全实现的类,所以必须对其进行细化以创建具体的类。

.h文件指定了由类提供的接口。但是,由于内联等原因,它不能很好地适合抽象/具体的区别:你可以有一个完全实现了具体类的.h文件。