博客作业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.数据结构、函数说明
3.代码实现说明
做法:用new申请空间,将分子分母存入
做法:用delete释放申请的空间
做法:经过用户选择,选择返回某一个有理数的分子或分母
做法:经过用户选择,修改某一个有理数的分子或分母
做法:先通分再相加,最后化简存入数组
做法:先统分再相减,最后化简存入数组
做法:分子分母分别相乘,最后化简存入数组
做法:除法就是乘与除数的倒数,最后化简存入数组
4.代码互评
徐宏伟同学的代码:
他的代码只用两个形参e1,e2,而我使用了一个数组的指针。他的代码通过两次调用这个函数,达到将有理数存入数组中,我只调用一次,通过把指针传入,把数组的有理数存入。我认为他的代码风格更为简洁,看上去也更加清爽。我比较喜欢他的代码。
5.结果展示
分母为0重新输入:
分母为负数重新输入:
菜单只能输入1到7的数字,输入其他不崩溃
选择不能选择1,2之外的
相加相减:
相乘相除:
自动化简结果:
6.总结
- 数据结构是计算机存储/组织数据的方式,通常情况下,精心选择的数据结构可以提高运行效率以及存储效率,所以数据结构对于编程者来说非常重要。抽象数据结构是指抽取出事物具有普遍性的规律,他隐藏了复杂的细节,只保留了实现目标所需的信息,所以抽象数据类型的定义仅取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关。