码迷,mamicode.com
首页 > 其他好文 > 详细

博客作业01-抽象数据类型

时间:2018-03-08 22:05:18      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:如何   com   计算   code   引用   gpo   log   结构   计算机   

1.作业内容

用ADT的抽象数据模型描述你的有理数数据类型:

ADT Rational{
    数据对象:D={v1,v2|v1,v2属于ElemType类型}
    数据关系:R1={<v1,v2>}
    基本操作:
        InitRational(&T,v1,v2)
        DestroyRational(&T)
        Get(T,i,&e)
        Put(&T,i,e)
        Add(&T,T1,T2)
        Subtraction(&T,T1,T2)
        Multiplication(&T,T1,T2)
        Division(&T,T1,T2)
        Simplification(&T)
}ADT Rational

2.数据结构、函数说明

技术分享图片

3.代码实现说明

(1)构造三元组函数
技术分享图片
做法:动态申请内存,分别把2个变量放入数组T中。
(2)销毁有理数T
技术分享图片
做法:通过free释放内存
(3)输出分母或分子函数
技术分享图片
做法:用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母
(4)修改数据
技术分享图片
做法:将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母
(5)加法运算
技术分享图片
做法:有理数T1,T2相加,把结果存入T中
(6)减法运算
技术分享图片
做法:有理数T1,T2相减,把结果存入T中
(7)乘法运算
技术分享图片
做法:有理数T1,T2相乘,把结果存入T中
(8)除法运算
技术分享图片
做法:有理数T1,T2相除,把结果存入T中

4.代码互评

技术分享图片
技术分享图片
这是化简分数的函数,我用的方法是直接用循环找出可以同时被两者整除的数,然后再一步一步的化简,感觉比较复杂,效率比较低;相对于我的代码来说,李金谣的代码通过先求出最大公约数,然后化简,效率比较高,也比较直观,我更喜欢李金谣的代码。

5.结果展示

技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片

6.总结

  • 数据结构就是指按一定的逻辑结构组成的一批数据,使用某种存储结构将这批数据存储于计算机中,并在这些数据上定义了一个运算集合,数据结构首先应该包含数据对象在计算机中的组织方式,而数据对象必定与一系列加在数据对象上的操作相关联。
  • 抽象数据类型是一种对于数据类型的描述,是指描述数据类型的方法是不依赖于具体实现的,换而言之,抽象数据类型只描述数据对象集和相关操作集“是什么”,并不涉及“如何做到”的问题。

博客作业01-抽象数据类型

标签:如何   com   计算   code   引用   gpo   log   结构   计算机   

原文地址:https://www.cnblogs.com/yanweijie666/p/8510942.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!