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

1.作业内容

ADT Rational{
    数据对象:D={e1,e2,e3,e4|e1,e2,e3,e4属于ElemType类型
    数据关系:R1={<e1,e2>,<e2,e3>,<e3,e4>}
    基本操作:
    InitRational(&R,v1,v2,v3,v4)
    DestroyRational(&R)
    ResearchRational(R,&e,i)
    ModifyRational(&R)
    AddRational(R)
    SubtractionRational(R)
    MultiplicationRational(R)
    DivisionRational(R)
}ADT Rational

2.数据结构、函数说明

1231993-20180306212525311-815413801.png

1231993-20180306093101349-693794398.png

3.代码实现说明

1231993-20180306212541296-1925427875.png
做法:用new申请空间,将分子分母存入
1231993-20180306093353852-297040259.png
做法:用delete释放申请的空间
1231993-20180306093424892-1615389982.png
做法:经过用户选择,选择返回某一个有理数的分子或分母
1231993-20180306093517931-2045578080.png
做法:经过用户选择,修改某一个有理数的分子或分母
1231993-20180306093746152-545679520.png
做法:先通分再相加,最后化简存入数组
1231993-20180306093758549-1334819839.png
做法:先统分再相减,最后化简存入数组
1231993-20180306093812694-333882388.png
做法:分子分母分别相乘,最后化简存入数组
1231993-20180306093837609-1241091037.png
做法:除法就是乘与除数的倒数,最后化简存入数组

4.代码互评

徐宏伟同学的代码:
1231993-20180306213044208-521514095.jpg
1231993-20180306213050336-1630480853.png

他的代码只用两个形参e1,e2,而我使用了一个数组的指针。他的代码通过两次调用这个函数,达到将有理数存入数组中,我只调用一次,通过把指针传入,把数组的有理数存入。我认为他的代码风格更为简洁,看上去也更加清爽。我比较喜欢他的代码。

5.结果展示

分母为0重新输入:
1231993-20180306095131102-1103974439.png
分母为负数重新输入:
1231993-20180306103420764-1133112029.png
菜单只能输入1到7的数字,输入其他不崩溃
1231993-20180306095223852-1067892771.png
选择不能选择1,2之外的
1231993-20180306095257985-66196007.png
相加相减:
1231993-20180306095501163-1752165903.png
相乘相除:
1231993-20180306095615301-1590853422.png
自动化简结果:
1231993-20180306095747143-259151100.png

6.总结

  • 数据结构是计算机存储/组织数据的方式,通常情况下,精心选择的数据结构可以提高运行效率以及存储效率,所以数据结构对于编程者来说非常重要。抽象数据结构是指抽取出事物具有普遍性的规律,他隐藏了复杂的细节,只保留了实现目标所需的信息,所以抽象数据类型的定义仅取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关。

转载于:https://www.cnblogs.com/zbh0831/p/8512665.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值