博客作业01-抽象数据类型
1.作业内容(1分)
用ADT的抽象数据模型描述你的有理数数据类型。
ADT Rational {
数据对象:D={ | e1,e2∈I (I为整数集合) }
数据关系:R={ e1是有理数的分子,e2是有理数的分母,且e2>0 }
基本操作:
InitRational(&R, e1, e2); //建立有理数
DestroyRational(&R); //删除有理数
Get(&R,i,&e); //查找有理数
Put( &R,i,e); //更改有理数
Rationaladd( &R, R1,R2) ; //有理数加法
Rationalsubtraction(&R,R2); //有理数减法
Rationalmul(&R,R1,R2); //有理数乘法
Rationaldiv(&R,R1,R2); //有理数除法
Rationalprint(&R); //打印有理数
} ADT Rational
2.数据结构、函数说明(2分)
数据结构如下图:
3.代码实现说明(5分)
(1)构造有理数
(2)销毁有理数
(3)查找有理数
(4)更改有理数
(5)有理数加法
(6)有理数减法
(7)有理数乘法
(8)有理数除法
(9)打印
4.代码互评(选做,加分)
炳辉写的建立函数:
我的建立函数:
炳辉的函数是直接传入四个参数,只返回一个首地址,而我每次只能传入两个,所以要调用两次,并返回两个首地址,他的方法虽然简便,但是容易造成混乱,我的方法能直观看出是两个有理数,虽然调用起来比较麻烦但是我感觉我的方法更好。
5.结果展示(2分)
(1)基本操作
加法且值为1时
减法且值为0时
乘法
除法
查找分子分母
更改分子分母
健壮性
6.总结(1分)
数据结构是计算机内数据的组织方式和储存方法,包括数据的逻辑结构和存储结构。逻辑结构包括线性结构和非线性结构,非线性结构有树,图等,存储结构有顺序和链式两大类。根据问题选择不同数据结构可以提升解决问题的效率。
抽象数据类型是根据已有的数据类型,根据问题需要创造出一种全新的数据类型,等符合实际需要。抽象数据类型也叫ADT,包含数据对象,数据关系和基本操作,基本操作必须有新建和销毁两项.