精华内容
参与话题
问答
  • 抽象数据类型的定义

    千次阅读 2016-03-14 19:59:21
    抽象数据类型:(所谓抽象数据类型就是把数据类型和相关操作捆绑在一起) 数据类型:是一组性质相同集合及定义在此集合上一些操作。 按照取值不同,数据类型可以分为两类: 1.原子类型:不可以再分解...
    /**
    抽象数据类型:(所谓抽象数据类型就是把数据类型和相关操作捆绑在一起)
    数据类型:是一组性质相同的值的集合及定义在此集合上的一些操作。
    
    按照取值的不同,数据类型可以分为两类:
      1.原子类型:不可以再分解的基本类型,例如整形,浮点型,字符型等。
      2.结构类型:由若干个类型组合而成,是可以再分解的,例如整形数组
        是由若干整形数组组成的。
    
    抽象:抽象是指抽取事物具有的普遍的本质。它要求抽出问题的特征而
    忽略非本质的细节,是对具体事物的一个概括。抽象是一种思考问题的
    方式,它隐藏了细节。
    */
    #include<stdio.h>
    
    int main()
    {
        printf("Hello 数据库!!!");
        return 0;
    }

    展开全文
  • 二叉树的抽象数据类型定义

    千次阅读 2019-08-29 16:22:23
    数据对象集:一个有穷结点集合。 若不为空,则由根结点和其左、右二叉子树组成。 操作集: BT ∈ BinTree, Item ∈ElementType,重要操作有: 1、Boolean IsEmpty( BinTree BT ): 判别BT是否为空; 2、void ...

    类型名称:二叉树
    数据对象集:一个有穷的结点集合。
    若不为空,则由根结点和其左、右二叉子树组成。
    操作集: BT ∈ BinTree, Item ∈ElementType,重要操作有:
    1、Boolean IsEmpty( BinTree BT ): 判别BT是否为空;
    2、void Traversal( BinTree BT ):遍历,按某顺序访问每个结点;
    3、BinTree CreatBinTree( ):创建一个二叉树。

    常用的遍历方法有:

    • void PreOrderTraversal( BinTree BT ):先序----根、左子树、右子树;
    • void InOrderTraversal( BinTree BT ): 中序—左子树、根、右子树;
    • void PostOrderTraversal( BinTree BT ):后序—左子树、右子树、根
    • void LevelOrderTraversal( BinTree BT ):层次遍历,从上到下、从左到右
    展开全文
  • 线性表的抽象数据类型定义

    千次阅读 2018-03-22 11:18:17
    public interface ListIntf{ public int size(); //返回表长度 ...

    public interface ListIntf{
           public int size();  //返回表长度                                                                                                                                                public void clear();  //重置为空表                                                                                                                                            public boolean isEmpty();  //若为空表,则返回ture,否则返回false                                                                                        public Object get(int i);  //返回第i个数据元素的值(返回类型可能不同)                                                                                public int indexOf(Object obj);  //第一个与obj满足关系equals()数据元素的位序。若这样的数据元素不存在,则返回值为-1(obj的类型根据实际不同)

            public Object getPre(Object obj); //若obj是表中元素,则返回他的前驱
            public Object getNext(Object obj);  //若obj是表中元素,则返回他的后继

            public void insertElementAt(Object obj,int i);  //在第i个位置之前插入新的数据元素obj,表长度加1
            public Object remove(int i);   //删除第i个数据元素,并返回其值,表长度减1

            public Object remove(Object obj);  //删除数据元素obj,并返回其值,表长度减1

    展开全文
  •  数据对象:D={r,i | r,i为实数}  数据关系:S={<r,i>}  基本操作:  InitComplex(&C,re,im)  操作结果:构造一个复数C,实部为re,虚部为im。  DestoryComplex(&C)  初始条件:复数C...

    ADT Complex{

      数据对象:D={r,i | r,i为实数}

      数据关系:S={<r,i>}

      基本操作:

        InitComplex(&C,re,im)

          操作结果:构造一个复数C,实部为re,虚部为im。

        DestoryComplex(&C)

          初始条件:复数C存在。

          操作结果:销毁复数C。

        Get(C,k,&e)

          初始条件:复数C存在,1<=k<=2。

          操作结果:用e返回C的第k元的值。

        Put(&C,k,e)

          初始条件:复数C存在,1<=k<=2.

          操作结果:将C的第k元改为e。

        IsAscending(C)

          初始条件:复数C存在。

          操作结果:如果复数C的两个元素按升序排列,则返回1,否则返回0.

        IsDesending(C)

          初始条件:复数C存在。

          操作结果:如果复数C的两个元素按降序排列,则返回1,否则返回0.

        Max(C,&e)

          初始条件:复数C存在。

          操作结果:用e返回复数C中两个元素值较大的一个。

        Min(C,&e)

          初始条件:复数C存在。

          操作结果:用e返回复数C中两个元素值较小的一个。

    } ADT Complex

     

    ADT RationalNumber{

      数据对象:D={s,m | s,m为自然数,且m!=0}

      数据关系:S={<s,m>}

      基本操作:

          ……

    }ADT RationalNumber

    转载于:https://www.cnblogs.com/zhwup/p/9375588.html

    展开全文
  • 定义抽象数据类型

    2018-03-18 20:26:00
    在C++语言中,我们使用类定义自己的数据类型。通过定义类型来反映待解决问题中各种概念,可以使我们更容易编写,调试,和修改程序。 类基本思想是数据抽象和封装。数据抽象是一种依赖于接口和实现分离...
  • 请问抽象数据类型的定义到底有什么作用? 如线性表的定义,如果我要建立一个线性表,需要在编译过程中对它进行抽象数据类型的定义吗?
  • 抽象:描述数据类型的方法不依赖于具体实现 与存放数据的机器无关 与数据存储的物理结构无关 与实现操作的算法和编程语言均无关 只描述数据对象及和相关操作集“是什么”,并不涉及“如何做到”的问题 ElementType ...
  • 抽象数据类型三元组的定义 #include <stdio.h> #include <stdlib.h> //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<&...
  • 一、线性表的定义 由n(n>=0)个数据特性相同的元素构成的有限序列称为线性表。 线性表中元素的个数n(n>=0)定义为线性表的长度,n=0时线性表称为空表。 二、非空线性表及线性结构的特点 1、存在唯一的一个被称为...
  • 数据结构 **数据结构是计算机存储、组织数据的方式。...数据结构 是域特定问题相关某一数据元素集合和该集合元素之间关系组成定义式为: Data_Structure = {D, R} 其中: D是某一数据元素集合。 R是该...
  • 抽象数据类型线性表的定义与实现

    千次阅读 2018-09-12 10:36:37
    最近刚刚上完数据结构第一章,好久没有写线性表了,正好借着老师作业温习一下,主程序实现就是简单list有序合并。不多比比,直接上代码 第一部分 de.hpp文件 // // main.cpp // test // // Created by ...
  • 类似于线性表,抽象数据类型数组的定义(C语言风格)为: 注: &为引用 ,&A为引用A。 OK的状态码为1 数据对象: aabcde…… a是数组a的一维下标,若a=5,那么数组a的第一维的长度为5 b是数组a的二...
  • 的定义 栈( stack )是限定仅在表尾进行捕入和删除操作的线性表。 我们把允许插入和删除的一端称为栈顶 (top),另一端称为栈底 (bottom),不含任何数据元素的栈称为空栈。栈又称为后进先出 (Last In Filrst Out...
  • 4.2.0 队列的定义抽象数据类型

    千次阅读 2018-03-17 13:06:56
    概念 队列 ( queue ) 是只允许在一端进行插入操作,而在另一端进行删除操作线性表。...抽象数据类型 ADT 队列 (Queue) Data 同线性表。元素具有相同类型,相邻元素具有前驱和后继关系 。 Operation ...
  • 就数据结构中的struct来说,其是定义抽象数据结构类型的重要手段,但是在看书的... 首先紧跟struct之后的肯定是该抽象数据类型的名称,类比于"int',若无typedef,则在结尾处分号之前的activity就类比于a,b[100],属于
  • 3、子串与主串,串中任意个数连续字符组成子序列称为该串子串,相应包含子串串称为主串,子串子啊主串中位置就是子串第一个字符在主串中位置。(例如:ove是over子串) 4、串得到基本操作StrAssign...
  • 它包括逻辑结构还有存储结构,然后学习了一下数据类型的表示以及实现,虽然在C语言基础中可以常常看到结构体,但是到今天才明白什么是用户建立自己的数据类型这句话,以下就是构建复数这样一个结构体的数据类型;...
  • InitTriplet(&T,v1,v2,...书上说它能够提供输入值和返回操作结果,我在网上查了,引用参数是作为形参传递实参地址的,引用参数在这个三元组的定义中怎么理解(哪个是提供输入值哪个是返回操作结果的),求各位大神指点
  • 类 定义抽象数据类型 combine和avg_price 声明在内部,实现在类外。定义类外的成员函数不是内联函数。 引入const成员函数 常量成员函数不能调用普通成员函数 如果成员被声明称常量成员函数,那么他的定义也必须...
  • /*单链表存储结构*/ typedef struct LNode { ElemType data; struct LNode *next; }LNode, *LinkList /*将第i个元素赋给e p指向第一个结点,j为计数器 ...Status GetElem_L(LinkList L, int i, ElemType &e) ...
  • /*线性表静态单链表存储结构(借用一维数组来描述线性链表)*/ #define MAXSIZE 1000 typedef struct { ElemType data; int cur; }component,SLinkList[MAXSIZE]; /*静态单链表中查找返回第一个值为e元素...
  • 数据元素:数据的基本单位,一个数据元素可由若干个数据项组成,数据项是数据的不可分割最小单位 数据对象:性质相同的数据元素集合是数据的一个子集 数据结构:相互之间存在一种或多种特定关系的数据元素...

空空如也

1 2 3 4 5 ... 20
收藏数 19,999
精华内容 7,999
关键字:

抽象数据类型