一.作业题目
仿照三元组或复数的抽象数据类型写出有理数抽象数据类型的描述 (有理数是其分子、分母均为整数且分母不为零的分数)。
有理数基本运算:
- 构造有理数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={e1,e2|e1,e2属于整数类型}
数据关系:R={<e1,e2>|e1为有理数分子,e2为有理数分母}
基本操作:
CreateRational(&t,e1,e2)//操作结果:构造有理数t,e1为有理数分子,e2为有理数分母
DestroyRational(&t)//操作结果:销毁有理数t
Get(t,i,&e)//操作结果:用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母
Put(&t,i,e)//操作结果:将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母
Add(t1,t2,&t3)//操作结果:有理数T1,T2相加,结果存入有理数T3
Substract(t1,t2,&t3)//操作结果:有理数T1,T2相减,结果存入有理数T3
Multiply(t1,t2,&t3)//操作结果:有理数T1,T2相乘,结果存入有理数T3
Divide(t1,t2,&t3)//操作结果:有理数T1,T2相除,结果存入有理数T3
2.数据结构、函数说明
1.头文件
2.函数
3.代码实现说明
1.用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母
2.将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母
3.有理数T1,T2相加,结果存入有理数T3
4.有理数T1,T2相减,结果存入有理数T3
5.有理数T1,T2相乘,结果存入有理数T3
6.有理数T1,T2相除,结果存入有理数T3
7.求a1和a2的最大公约数
4.结果展示
1
.
2.
3.
4.
5.总结
数据结构是计算机存储、组织数据的方式。通过学习,精心选择的数据结构可以带来更高的运行或者存储效率。