2018 -0529 C语言学习 ----抽象数据类型

按照课本所说抽象数据类型 ---提供类型属性和相关操作的抽象描述。

个人理解抽象数据类型就是一个新的类型想int 那种的,在这个类型下提供了对这种类型的操作,比如int 类型 可以 + 、-、而这些加减其实就是对这个数据类型的操作。

也就是我们自己去定义一个数据类型,并提供其操作方法。

比如定义一个抽象类型叫链表,将其和int 类型比较(注: 类型特指两类信息:属性和操作):

类型名: 链表                                                                类型名:int                

类型属性: 存储一系列项                                               类型属性:代表一个整数值

类型操作: 初始化链表为空;                                        类型操作:改变int类型值符号

                    确定链表为空                                                                两个int类型值相加

                    确定链表已满                                                                相减,,

                    确定链表中的项数                                                          相乘

                    。。。。。                                                                    相除.....

   通过对比发现,抽象数据其实就是我们去定义一个我们需要的数据类型,然后定义它的操作。有点像struct 但是struct没有定义相关的结构操作。

下面以链表为例子:

建立的抽象的步骤:

①建立接口:使用抽象数据类型要先开发实现一个ADT的编程接口,即指明如何存储数据和执行所需函数的操作,其实我个人理解就是去:

1.定义一个类型描述如何表示数据,

2.然后定义它是如何操作的。

其实接口就是定义了 我是什么,我可以做什么。但是是怎么做的不在接口文件中。就是说接口文件里面是数据类型定义,与这个数据类型所能操作的函数名。


②使用接口:  说白了就是主函数,去调用①接口中的函数;

③实现接口:就是①接口中函数的具体实现步骤;

个人理解是,接口相当于手册里面是解释这个函数是干嘛的,数据结构是什么,使用接口就是我去用这个手册里面的东西,实现接口就是手册里面的内核被封装起来的东西。


猜你喜欢

转载自blog.csdn.net/qq_36324796/article/details/80491258