zoukankan      html  css  js  c++  java
  • 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

    1.ADT抽象数据模型描述有理数数据类型

    2.数据结构、函数说明

    头文件:

    函数:

    3.代码实现说明

    (1)构造和销毁一个有理数

    (2)

    1. 用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母。
    2. 将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母。

    (3)加减乘除

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

    5.总结

    根据数据结构中的逻辑类型和储存类型,我选择了使用逻辑类型的线性类型。先定义一个有理数作为int类型的指针,再由构建函数开辟一个长度为2的内存空间来储存分子分母,再把有理数作为一个类型进行操作。C++是面向对象的语言,本题中,我将有理数这个概念实例化,先定义了“概念”,而T1,T2,T3是几个特例,由泛型转为特性,在编程中就能避免很多问题。

    在程序编写中,要把空泛的概念实体化,用我熟知的知识去描述。

    6.运行截图

    1,正常操作

    2,分母小于等于零

  • 相关阅读:
    Quicksum -SilverN
    uva 140 bandwidth (好题) ——yhx
    uva 129 krypton factors ——yhx
    uva 524 prime ring problem——yhx
    uva 10976 fractions again(水题)——yhx
    uva 11059 maximum product(水题)——yhx
    uva 725 division(水题)——yhx
    uva 11853 paintball(好题)——yhx
    uva 1599 ideal path(好题)——yhx
    uva 1572 self-assembly ——yhx
  • 原文地址:https://www.cnblogs.com/3nodisnoable/p/8521868.html
Copyright © 2011-2022 走看看