Data-structure
一.作业题目
仿照三元组或复数的抽象数据类型写出有理数抽象数据类型的描述 (有理数是其分子、分母均为整数且分母不为零的分数)。
有理数基本运算:
- 构造有理数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
二.作业内容
1.用ADT的抽象数据模型描述有理数数据类型。
ADT Rational{
数据对象:D={e2,e2|e1,e2都属于整型,存放于T中}
数据关系:R={e1,e2|e1是分子,e2是分母};
基本操作:
Status goujian();
Status DestroyTriplet();
Status get();
Status put();
Status jiafa();
Status jianfa();
Status chengfa();
Status chufa();
Status gys(int a, int b);
} ADT Rational
2.数据结构、函数说明。
头文件:
函数:
![](https://images2018.cnblogs.com/blog/1232772/201803/1232772-20180307131319601-1157190966.png)
3、代码实现说明
有理数构建:
销毁有理数T:
用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母:
将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母:
有理数加法:
有理数减法:
有理数乘法:
有理数除法:
最大公约数:
4、结果展示
正常情况:
负数情况:
分母为零:
合为整数:
五、总结:
此次实验我对数据结构有了一定了解,数据结构需要在构建前先建立模版,构建函数时会思路更清晰。