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

本文详细介绍了使用抽象数据类型(ADT)构建有理数数据结构的方法,包括基本操作如初始化、销毁、算术运算等,并自定义了一个二元组ADT,展示了数据结构和算法设计的基本原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

二.博客作业要求

1.作业内容

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

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

···
ADT Rational{
数据对象:D={e1,e2 | e1,e2属于ElemType}
数据关系:R1={<e1,e2>}
基本操作:
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.数据结构、函数说明

1232103-20180307234017384-1932083653.png

3.代码实现说明

(1)构造有理数

1232103-20180307234214665-2033766494.png

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

(2)销毁有理数

1232103-20180307234349746-1197088109.png

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

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

1232103-20180310170018235-1000928352.png

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

(4)有理数相加

1232103-20180310170036225-1240326408.png

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

(5)有理数相减

1232103-20180310170057184-657715912.png

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

(6)有理数相乘

1232103-20180310170246743-1119780815.png

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

(7)有理数相除

1232103-20180310170321838-1064041985.png

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

(8)其他操作

1232103-20180307235259864-1707229613.png

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

5.结果展示

1232103-20180310165922852-576888764.png
1232103-20180307235707760-508177325.png
1232103-20180307235743586-1331908287.png
1232103-20180307235817226-1708616668.png

6.总结

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

转载于:https://www.cnblogs.com/LHLH/p/8526155.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值