• Data-Structure01-绪论


    一、作业要求

        仿照三元组或复数的抽象数据类型写出有理数抽象数据类型的描述 (有理数是其分子、分母均为整数且分母不为零的分数)。

    有理数基本运算:

    1. 构造有理数T,元素e1,e2分别被赋以分子、分母值
    2. 销毁有理数T
    3. 用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母。
    4. 将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母
    5. 有理数T1,T2相加,结果存入有理数T3
    6. 有理数T1,T2相减,结果存入有理数T3
    7. 有理数T1,T2相乘,结果存入有理数T3
    8. 有理数T1,T2相除,结果存入有理数T3
      实验要求:
    9. 抽象数据类型名为Rational。
    10. 有理数分母不能为负数或者0,类似输入请提示重输入。
    11. 数据对象和数据运算的表示与数据操作的实现分离。表示用头文件完成,实现用CPP文件完成。Main.cpp文件实现数据输入输出。
    12. 数据输入输出格式参考如下:.........  

    二、作业实验

    1.用抽象数据类型写出有理数抽象数据类型的描述

    ADT Rational{
        数据对象:D = {T1,T2,T3|T1,T2,T3为有理数}
        数据关系:R = {<T1,T2>,<T2,T3>}
        基本操作:
            CreateRational(&T,x1,x2) 
                操作结果:创造有理数T。
            DestoryRational(&T)
                操作结果:销毁有理数T。
            AddRational(&T1,&T2,&T3)
                操作结果:将T1,T2相加,结果存入T3
            MinusRationa(&T1,&T2,&T3)
                操作结果:将T1,T2相减,结果存入T3
            MultiplyRational(T1,T2,&T3)
                操作结果:将T1,T2相乘,结果存入T3
            DivideRational(T1,T2,&T3)
                操作结果:将T1,T2相除,结果存入T3
    } ADT Rational

    2.头文件

    3.函数说明

    4.代码实现

    (1)构造有理数

    (2)销毁有理数

    (3)取得有理数的分子或分母的值

    (4)改变有理数分子或分母的值

    (5)相加

    (6)相减

    (7)相乘

    (8)相除

    (9)辗转相除求最大公约数

     三、结果展示

    (1)正常情况

    (2)两个有理数相同

    (3)存在输入错误,需要重新输入的情况

    (4)分子为零

    (5)有理数为负数

    三、总结

      通过这次作业,我对抽象数据类型和数据结构有了更深的了解。以下是我的理解:

      数据结构就是指按一定的逻辑结构组成的一批数据,使用某种存储结构将这批数据存储于计算机中,并在这些数据上定义了一个运算集合。

      抽象数据类型和数据类型实质上是同一种概念。

      

  • 相关阅读:
    JDOJ 1090: 矩阵
    JDOJ 2236: Random Num
    浅谈区间DP
    NOIP 2006 能量项链
    小技巧—处理环形区间
    NOI 1995 石子合并
    洛谷 P5640 【CSGRound2】逐梦者的初心
    JDOJ 1101: 邦德I
    JDOJ 1104: 最佳挑水
    JDOJ 1098: 夏娜的菠萝包
  • 原文地址:https://www.cnblogs.com/chenyutin/p/8515701.html
Copyright © 2020-2023  润新知