Date_Structure01-绪论作业
一、作业要求:
- 构造有理数T,元素e1,e2分别被赋以分子、分母值
- 销毁有理数T
- 用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母。
- 将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母
- 有理数T1,T2相加,结果存入有理数T3
- 有理数T1,T2相减,结果存入有理数T3
- 有理数T1,T2相乘,结果存入有理数T3
- 有理数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、代码实现
- 构造有理数T:
- 销毁有理数T:
- 用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母:
- 将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母:
- 求最大公因数:
- 有理数相加:
- 有理数相减:
- 有理数相乘:
- 有理数相除:
-
主函数:
3、结果展示:
(1)样例:
(2)存在负数:
(3)分母为0:
(4)计算结果分子为0:
4、总结:
结合本次作业谈谈你对数据结构及抽象数据类型的理解:
数据结构:在本次作业中,我认识到数据结构像是一个关系网络,将一系列定义出来的元素通过函数联系并运用起来。但值得注意的试试这些元素、函数之间关系一定要明确的表示相互之间的关系,否则很容易引出多重问题。
抽象数据类型:抽象数据类型之所以抽象是应为在定义函数类型是并未知准确用到int、double。。等值类型名称,而是用到自己定义的一个值类型名称Rational,这样做的好处就是定义出的元素可以随机应变成为合适的类型。
本次实验遇见的错误有大有小:大是应为我没用理解指针变量的定义及作用和应用符号“&”的作用,导致相互之间出现冲突。小则是出现忘记加头文件、定义函数与引用函数之间出现拼写中的偏差。无论从哪方面都反映出我的基础的薄弱以及细心的程度所以,之后这将成为我努力的方向。