博客作业01-抽象数据类型

本文介绍了使用抽象数据类型(ADT)实现有理数的数据结构及基本操作,包括构造、销毁、查找、更改、四则运算等,并通过代码实现了这些功能。

博客作业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分)

数据结构如下图:

1232041-20180304110944711-1339179210.png

3.代码实现说明(5分)

(1)构造有理数

1232041-20180304111353573-520500275.png

(2)销毁有理数

1232041-20180304111411681-1541027494.png

(3)查找有理数

1232041-20180304111435429-1034412290.png

(4)更改有理数

1232041-20180304111457373-1056663027.png

(5)有理数加法

1232041-20180304111536966-766412332.png

(6)有理数减法

1232041-20180304111543755-486484473.png

(7)有理数乘法

1232041-20180304111550127-833334454.png

(8)有理数除法

1232041-20180304111556376-991652634.png

(9)打印

1232041-20180304111625274-2326384.png

4.代码互评(选做,加分)

炳辉写的建立函数:

1232041-20180306102623679-192048753.jpg
1232041-20180306102754010-132718617.jpg

我的建立函数:

1232041-20180306103047773-838806894.jpg
炳辉的函数是直接传入四个参数,只返回一个首地址,而我每次只能传入两个,所以要调用两次,并返回两个首地址,他的方法虽然简便,但是容易造成混乱,我的方法能直观看出是两个有理数,虽然调用起来比较麻烦但是我感觉我的方法更好。

5.结果展示(2分)

(1)基本操作

加法且值为1时

1232041-20180304112516956-348372122.png

减法且值为0时

1232041-20180304112521563-1919075261.png

乘法

1232041-20180304112533709-1945476410.png

除法

1232041-20180304112546488-1389481342.png

查找分子分母

1232041-20180304112631989-1824151527.png

更改分子分母

1232041-20180304113210054-1585611460.png
1232041-20180304113213433-2115687276.png

健壮性

1232041-20180304113444520-1662786211.png

6.总结(1分)

数据结构是计算机内数据的组织方式和储存方法,包括数据的逻辑结构和存储结构。逻辑结构包括线性结构和非线性结构,非线性结构有树,图等,存储结构有顺序和链式两大类。根据问题选择不同数据结构可以提升解决问题的效率。
抽象数据类型是根据已有的数据类型,根据问题需要创造出一种全新的数据类型,等符合实际需要。抽象数据类型也叫ADT,包含数据对象,数据关系和基本操作,基本操作必须有新建和销毁两项.1232041-20180306102741925-278078684.jpg

转载于:https://www.cnblogs.com/doimpossible/p/8503394.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值