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

---恢复内容开始---

二.博客作业要求

1.作业内容

用ADT的抽象数据模型简述有理数数据类型

自定义一个二元组抽象数据类型

···
ADT Rational{
数据对象:D={e1,e2 | e1,e2属于ElemType}
数据关系:R1={}
基本操作:
InitTriplet(Rational &T, ElemType v1, ElemType v2)
DestroyTriplet(Rational &T)
GCD(int m,int n)
Add(Rational &T1,Rational &T2,Rational &T3)
Minus(Rational &T1,Rational &T2,Rational &T3)
Multiply(Rational &T1,Rational &T2,Rational &T3)
Divide(Rational &T1,Rational &T2,Rational &T3)
Choice(int a,Rational &T1,Rational &T2)
}ADT Rational
···

2.数据结构、函数说明

博客作业1-抽象数据类型_第1张图片

3.代码实现说明

(1)构造有理数

博客作业1-抽象数据类型_第2张图片

做法:动态申请内存,分别把2个变量放入数组T中。

(2)销毁有理数

博客作业1-抽象数据类型_第3张图片

做法:释放申请的动态内存,并使T的值为空

(3)求分子分母最大公约数

博客作业1-抽象数据类型_第4张图片

做法:先找出分子分母中最小的数,然后使其自减直到满足其为分子或分母的因数

(4)有理数相加

博客作业1-抽象数据类型_第5张图片

做法:根据分数相加原理将两有理数相加并赋值给有理数T3的数组

(5)有理数相减

博客作业1-抽象数据类型_第6张图片

做法:两有理数相减并赋值给T3的数组

(6)有理数相乘

博客作业1-抽象数据类型_第7张图片

做法:两有理数相乘并赋值给T3的数组

(7)有理数相除

博客作业1-抽象数据类型_第8张图片

做法:两有理数相除并赋值给T3的数组

(8)其他操作

博客作业1-抽象数据类型_第9张图片

做法:根据输入的选项进行相应操作,销毁有理数调用销毁函数,返回分子或分母则直接输出相应数组元素,修改分子或分母则利用引用的有理数数组T进行修改

5.结果展示

博客作业1-抽象数据类型_第10张图片
博客作业1-抽象数据类型_第11张图片
博客作业1-抽象数据类型_第12张图片
博客作业1-抽象数据类型_第13张图片

6.总结

数据结构是相互间带有各种特定关系的数据元素集合。抽象数据类型是利用数学模型进行逻辑数据结构和逻辑数据结构上的运算而不具体考虑如何实现算法。

你可能感兴趣的:(博客作业1-抽象数据类型)