首页 > 编程知识 正文

数据结构中各种数据类型的定义,数据结构的四种基本抽象数据类型

时间:2023-05-04 00:26:01 阅读:179045 作者:1258

//数据结构的基本概念# includeiostreamusingnamespacestd; /*数据-用于描述客观事物数据特征的程序的操作对象。 可以输入计算机,可以由计算机程序处理的数据是一个抽象的概念,对其进行分类得到编程语言中的类型。 例如,int、float、char等数据项:一个数据元素包括多个数据项的数据元素:构成数据对象的基本单位数据对象:相同性质的数据元素的集合(数组)数据元素之间不独立。 这些关系,即结构数据结构,指数据对象内数据元素之间的关系()////是声明结构型结构//数据项char tile[32] //数据项int age; //数据项char addr[128] //数据项; int main () { struct Teacher t1; //数据元素struct Teacher tArray[30]; //数据对象memset (T1,0,sizeof ) t1 ); strcpy(T1.name,' name '; //数据项strcpy(T1.addr,' addr '; //数据项strcpy(T1.tile,' addr '; //数据项t1.age=1; () ) ) ) )。

转自: https://www.cn blogs.com/Zhang Gaofeng/p/5672610.html

在冯诺伊曼体系结构中,程序代码和数据以二进制形式存储,因此计算机系统和硬件本身不存在数据类型的概念。 在机器指令和汇编语言中,数据对象用二进制数表示,存储在存储器中的是二进制数,对于存储在存储器中的内容,可以说“你认为它是什么,你认为它是什么”。 高级语言引入整数型、实数型等基本数据类型,以有效组织数据,规范数据使用,提高程序可读性,方便用户使用。 的高级语言定义了不同的基本数据类型。 在编程中,只需知道如何使用这些类型的变量(如何声明、可以执行什么运算等),而不需要知道变量的内部数据表示或操作的具体实现。

但是,显然,表示复杂的数据对象时,仅有一些基本数据类型是不够的。 一些语言(如PL/1 )试图通过规定许多基本数据类型来解决此问题,例如数组、树和堆栈。 但是,在实践中,这不是一个好方法,因此任何编程语言都不能将实际APP中涉及的所有复杂数据对象作为基本数据类型。 因此,根本的解决方案是允许用户自定义数据类型(User-Defined Data Type )。 于是,在后来发展的语言如C语言中,出现了结构数据类型(也称为复合数据类型)。 这样,用户就可以根据需要利用从表示复杂数据对象(如链表、树或堆栈)的基本数据类型派生的现有基本数据类型来构建所需的数据类型。 例如,c语言中结构数据类型的代表是结构体。 C语言通过指针和类型的强力旋转,可以对一个内存进行“希望表示什么,希望表示什么”的操作,可以实现更深层次的计算机控制。

通过构建数据类型机制,可以将一些相对复杂的数据对象直接作为某种变量来处理,但外部可以看到这些类型的表示细节,而且由于没有合适的保护机制,在使用过程中会出现很多问题。 例如,用户可以在一个模块中自由修改该类型的变量要素,这种修改会间接影响处理该数据对象的其他模块,不利于开发多人协作完成的大型软件系统。 于是出现了“信息隐藏”和抽象数据类型的概念。

抽象数据类型(Abstract Data Type,ADT )不仅仅是一组值,还包括一组操作,这些操作除了生成数据类型外,还添加了对数据的操作,并且从外部看不到类型的表示细节和操作实现细节。 它之所以抽象,是因为外界只知道它在做什么,不知道它是怎么做的,也不知道数据内部表达的细节。 这样,即使改变数据的显示和操作的实现,也不影响程序的其他部分。 抽象数据类型不依赖于数据结构的具体实现方式,因此可以获得更好的信息隐藏效果。 如果提供相同的操作,以其他方式实现时,不需要更改程序,此特征有利于系统维护。 C类(Class )是抽象数据类型的具体实现,也是面向对象(Object-Oriented )编程语言的重要概念。 从结构转移到类是很自然的,但不能把C看成是带类的C。 因为这会带来思考和解决问题观点的转换。 与面向过程的编程不同,在面向对象的编程中,程序员面对的不是函数或变量,而是对象。 每个对象包含两个部分:用于保存对象属性的数据和方法,以及用于完成对数据的操作的方法。 对象和对象之间通过消息进行通信。

转自: https://blog.csdn.net/weixin _ 42257806/article/details/80892797

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。