Date_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。

二、作业内容:

  ADT Triple{

       数据对象:D={e1,e2,e3,e4|e1,e2,e3,e4属于Elemtype}

       数据关系:R1={<e1,e2,e3,e4>};R2={<T1,T2>,<T2,T3>}

       基本操作:

       InitTriplet(T1, e1, e2)

                    Get(T, i, e)             

       Put(T, i, e)

       Add(T1, T2, T3)

       Subtract(T1,T2,T3)

       Multiply(T1,T2,T3)
       Divide(T1,T2,T3)

       gcd(m,n)

     }ADT Rational

三、1、数据结构、函数说明

  头文件:

 

            函数:

2、代码实现

  1. 构造有理数T:

     

  2. 销毁有理数T:

     

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

     

  4. 将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母:

     

  5. 求最大公因数:

     

  6. 有理数相加:

     

  7. 有理数相减:

     

  8. 有理数相乘:

     

  9. 有理数相除:
  10. 主函数:

3、结果展示:

  (1)样例:

 

           (2)存在负数:

 

          (3)分母为0:

           (4)计算结果分子为0:

 

4、总结:

    结合本次作业谈谈你对数据结构及抽象数据类型的理解:

      数据结构:在本次作业中,我认识到数据结构像是一个关系网络,将一系列定义出来的元素通过函数联系并运用起来。但值得注意的试试这些元素、函数之间关系一定要明确的表示相互之间的关系,否则很容易引出多重问题。

      抽象数据类型:抽象数据类型之所以抽象是应为在定义函数类型是并未知准确用到int、double。。等值类型名称,而是用到自己定义的一个值类型名称Rational,这样做的好处就是定义出的元素可以随机应变成为合适的类型。

      本次实验遇见的错误有大有小:大是应为我没用理解指针变量的定义及作用和应用符号“&”的作用,导致相互之间出现冲突。小则是出现忘记加头文件、定义函数与引用函数之间出现拼写中的偏差。无论从哪方面都反映出我的基础的薄弱以及细心的程度所以,之后这将成为我努力的方向。

 

 

 

 

 

 

 

 

posted @ 2018-03-07 20:50  Stephen-joker  阅读(265)  评论(2编辑  收藏  举报