1.数据类型

定义:是一个值的集合和定义在这个值集上的一组操作的总称。

2.抽象数据类型(Abstract Data Type)

定义:抽取实际问题的本质。

指由用户定义的、表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。

具体分为:数据对象、数据对象关系的集合、数据对象基本操作的集合。

抽象数据类型的定义格式如下:
ADT抽象数据类型名(
数据对象:(数据对象的定义〉
数据关系:(数据关系的定义〉
基本操作:(基本操作的定义〉
IADT抽象数据类型名
其中,数据对象和数据关系的定义采用数学符号和自然语言描述,基本操作的定义格式为:
基本操作名(参数表)
初始条件:(初始条件描述〉
操作结果:(操作结果描述〉

例如:

计算机中使用二进制表示数据,在C语言或汇编语言则可以使用10进制表示,10进制是二进制的抽象,开发者在编程中直接使用,不必考虑实现细节。

在高级语言中(如C++),实现了更高一级的数据抽象,出现了数据类型,如int、float、char等,可以利用这些类型进一步构造出线性表、栈、队列、树、图等复杂的抽象数据类型。

3.抽象数据类型的表示与实现

  抽象数据类型的概念与面向对象方法的思想是一致的。

  抽象数据类型独立于具体实现,将数据和操作封装在一起,使得用户程序只能通过抽象数据类型定义的某些操作来访问其中的数据,
   从而实现了信息隐藏。在 C++中,我们可以用类的声明表示抽象数据类型,用类的实现来实现
抽象数据类型。因此,C++中实现的类相当于数据的存储结构及其在存储结构上实现的对数据
的操作。

  抽象数据类型和类的概念实际上反映了程序或软件设计的两层抽象:抽象数据类型相当千在
概念层(或称为抽象层) 上描述问题,而类相当于在实现层上描述问题。

 此外,C++中的类只是一 个由用户定义的普通类型,可用它来定义变量(称为对象或类的实例)。因此,在 C++中,最终是通过操作对象来解决实际问题的,所以我们可将该层次看做是应用层。例如,main程序就可看做是用户的应用程序。

C语言之抽象数据类型(四十七)相关推荐

  1. 面向对象C语言编程--抽象数据类型-AbstractDataTypes

    AbstractDataTypes C语言的灵活 C语言很灵活,不但有基础数据类型,char.int.double等,还允许程序员自定义类型,如: 定义一个链表使用的数据类型,其中有Node节点和自己 ...

  2. 线性表adt的c语言表达,抽象数据类型定义(ADT)

    类C语言语法示例 1.预定义常量和类型 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE - ...

  3. 复数抽象数据类型C语言,采用C/C++语言如何实现复数抽象数据类型Complex

    记录一下! 采用C/C++语言如何实现复数抽象数据类型Complex #include typedef struct Complex { double e1; // 实部 double e2; // ...

  4. c语言写报告抽象数据类型,C语言抽象数据类型ADT

    根据编程的问题匹配合适的数据类型.数据项连接构成了链表,定义了一个结构代表单独的项.设计了一些方法把一系列结构构成一个链表.本质上,我们使用C语言的功能设计了一种符合程序要求的新的数据类型.但是上述的 ...

  5. 《零基础看得懂的C语言入门教程 》——(四)C语言的基本数据类型及变量

    一.学习目标 了解C语言的基本数据类型 了解变量的基本概念 了解变量的使用方法 了解了变量的命名方法 了解格式占位符 了解变量的输出 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. ...

  6. c语言抽象数据类型复数,抽象数据类型复数的实现..doc

    抽象数据类型复数的实现. 石家庄经济学院 实 验 报 告 学 院: 信息工程学院 专 业: 计算机 信息工程学院计算机实验中心制 <数据结构>实验报告姓名张文楚学号409109070515 ...

  7. c语言 数据结构 list、queue、tree抽象数据类型的定义与实现 详尽代码和注释

    本文使用c语言定义并实现list.queue.tree抽象数据类型,代码有详尽注释,可以通过代码熟悉原理并运用数据结构. 0.ADT基础知识 类型包括两类信息,属性和操作.在编程时,根据编程问题匹配合 ...

  8. 数据结构之抽象数据类型(C语言实现)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.概念 二.定义格式 三.具体实现 总结 前言 数据类型是一组性质相同的值的集合以及定义于这个值集合上的一组操作的总 ...

  9. 抽象数据类型的三元组C语言,试仿照三元组的抽象数据类型分别写出数据类型复数和有理数的定义?...

    满意答案 hweiwei420 2015.10.10 采纳率:50%    等级:13 已帮助:14203人 a. 抽象数据类型复数complex: ADT complex{ 数据对象:D={e1,e ...

最新文章

  1. 技术干货-PCB彩印教程(水转印)
  2. Maven 中央仓库地址
  3. 递归入门 斐波那契数列
  4. 【转】android通讯录列表,A~Z字母提示view
  5. 【Lucy-Richardson去卷积】迭代加速算法
  6. OpenJudge数据结构与算法-计算点的距离并排序
  7. SpringMVC之源码分析--ThemeResolver(三)
  8. 景深决定照相机什么特性_手机为什么达不到相机的景深效果?
  9. yum安装Apache Web Server后各个文件存放位置
  10. Linux内存管理之mmap
  11. 华为私密相册计算机找回密码,华为手机隐私空间密码忘了怎么办 华为手机隐私空间密码忘了解决方法...
  12. BSM的两个基本问题与python实现(欧式期权定价公式)
  13. css3和html5网站模板
  14. matlab如何形成exe,matlab生成exe独立运行包
  15. 程序员的工资大概多少?
  16. Latex论文中用到的花体字
  17. 操作系统:实验一 进程调度算法
  18. 高中数学基础-2.1.1(1)根式的运算
  19. BeanCopier使用说明
  20. 使用计算机室刷卡上机,浅析高校计算机实验室综合信息管理系统

热门文章

  1. 怎么就没发现华为Mate20 pro有这么多神奇功能!这波黑科技盘它!
  2. redis客户端分析
  3. Linux安装SmartSVN及破解
  4. Android--Handler的使用方法:在子线程中更新界面
  5. VMware和VirtualBox中的网络适配器类型及虚拟网络性能优化
  6. mysql connector读后记
  7. 转帖:django下操作数据库的字符问题
  8. gridpanel select选中行方法
  9. oracle中入库判断空串,不同数据库和SpringDataJPA对字段值null,''空值的判断
  10. cmake使用教(二) install的使用