博客作业01-抽象数据类型
一、作业内容
- 用ADT的抽象数据模型描述你的有理数数据类型。
ADT Rational {
数据对象:D={e1,e2|e1,e2∈I(I为整数集)}
数据关系:R1={e1为有理数的分子,e2为有理数的分母且大于0}
操作集:
IntoFraction(& T, e1, e2)
DestoryFraction(& T)
ModifyFraction(& T, e, i)
ArithmeticFraction(& T1,& T2,& T3, flag)
SimplifyFraction(& nume, & deno)
FindMiniMultiple( e1, e2)
ReturnFindNum(& T1,& T2,& T3, flag)
TakeTMultiple(& T, i)
} ADT Rational
二、数据结构、函数说明
- 头文件:
三、代码实现说明
IntoFraction(R& T,Elemtype e1,Elemtype e2)
DestoryFraction(R& T)
ModifyFraction(R& T,Elemtype e,int i)
ArithmeticFraction(R& T1,R& T2,R& T3,int flag)
SimplifyFraction(Elemtype& nume,Elemtype& deno)
FindMiniMultiple(Elemtype e1,Elemtype e2)
ReturnFindNum(R& T1,R& T2,R& T3,int flag)
TakeTMultiple(R& T,int i)
四、代码互评
五、结果展示
1:分母为小于等于0的数
2:在已经删除T1下再次删除T1
3:在T1、T2被删除之后
4:T1(-6/8)、T2(5/6)的四则运算
- 加法
- 减法
- 乘法
- 除法
5:T1(12/36)、T2(9/128)的四则运算
- 加法
- 减法
- 乘法
- 除法
6:T1(-9/45)、T2(-7/65)的四则运算
- 加法
- 减法
- 乘法
- 除法
7:返回查询值(6的条件下)
- 返回T1的分子
- 返回T1的分母
- 返回T2的分子
- 返回T2的分母
8:修改T1或T2的分子或分母(6的条件下)
- 修改T1的分子
- 修改T1的分母(修改之后是-8/72,自动化简成-1/9)
- 修改T2的分子
- 修改T2的分母(修改成的是9/108)
六、总结
- 抽象数据类型是指一组定义在一个数学模型上的操作及该模型。需要通过固有的数据类型(如int之类)来实现。
- 对于现实的实际问题,可以定义对应的抽象数据类型来完成一系列定义和操作,是抽象数据类型的基本运用。