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,分母小于等于零

  • 相关阅读:
    SQL Sever语言 存储过程及触发器
    计蒜客 挑战难题 移除数组中的重复元素
    projecteuler Sum square difference
    码农谷 求前N项之和
    projecteuler Smallest multiple
    计蒜客 挑战难题 寻找插入位置
    Largest palindrome product
    计蒜客 挑战难题 元素移除
    码农谷 球从M米高度自由下落第N次落地时反弹的高度
    挑战难题 奇怪的国家
  • 原文地址:https://www.cnblogs.com/3nodisnoable/p/8521868.html
Copyright © 2011-2022 走看看