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

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.总结

  • 数据结构就是指按一定的逻辑结构组成的一批数据,使用某种存储结构将这批数据存储于计算机中,并在这些数据上定义了一个运算集合,数据结构首先应该包含数据对象在计算机中的组织方式,而数据对象必定与一系列加在数据对象上的操作相关联。
  • 抽象数据类型是一种对于数据类型的描述,是指描述数据类型的方法是不依赖于具体实现的,换而言之,抽象数据类型只描述数据对象集和相关操作集“是什么”,并不涉及“如何做到”的问题。
posted @ 2018-03-08 21:41  久念  阅读(169)  评论(2编辑  收藏  举报