博客作业01-抽象数据类型.
1.作业内容
ADT Rational{
数据对象:{T={T[0],T[1],T[2],T[3] | T[0],T[1],T[2],T[3] 属于ElemType类型}
数据关系:R1={<T[0],T[1]>,<T[1],T[2]>,<T[2],T[3]>}
基本操作:
InitRational(&T, v1, v2, v3, v4);
Calculate( T);
Search( T, i);
Modify(&T, i, e, num);
Add(t);
Subtract(T);
Multiplication(T);
Devide(T);
DestroyRational( &T);
}ADT Rational
2.数据结构、函数说明
3.代码实现说明
申请空间
做法:用new申请,并将分子分母存入T中
加法运算
做法:利用分母通分实现求和
减法运算
做法:利用分母通分实现求差
乘法运算
做法:分子=T1分子T2分子,分母=T1分母T2分母
除法运算
做法:除以一个数等于乘以这个数的倒数
化简结果
做法:利用辗转相除法,找到最大公约数,再将化简前的分子分母同除以最大公约数,从而得到结果
销毁
做法:用delete函数释放(销毁)T
修改
做法:判断修改对象,确认修改
4.结果展示
输入数据并检验
相加相减
相乘相除+数据检验
返回值+数据检验
修改
化简
销毁
主菜单的数据检验+退出功能
除法遇到0时
5.总结
- 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。学了时间复杂度和空间复杂度之后,我觉得这门课真的很有必要,毕竟哪位用户都不想在应用上等待“太长”的时间,当然运行地越快越好,内存越耐用越好。
- 做这个程序的时候,上学期做过的一些东西都忘记了,主要是头文件和主函数这块,还要回去看看上学期的代码,果然还是要在开学写一写程序,不然都忘记一些了。
- 刚做的时候问题有点大,函数类型借鉴老师的Status,可是做完不能运行,又改回int,但是还是不知道Status是干嘛用的,想了好久,不知道到底是什么类型的,什么该写在哪里,捯饬了好久,那时候就是觉得万事开头难!开头难!最后去百度了一下Status才知道就是代替了int而已,然后Elemtype,Rational也就知道了,才开始有了头绪。