博客作业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,包含数据对象,数据关系和基本操作,基本操作必须有新建和销毁两项.

posted on 2018-03-08 20:49  斯慕  阅读(233)  评论(2编辑  收藏  举报