Data-structure

一.作业题目

仿照三元组或复数的抽象数据类型写出有理数抽象数据类型的描述 (有理数是其分子、分母均为整数且分母不为零的分数)。
有理数基本运算:

  1. 构造有理数T,元素e1,e2分别被赋以分子、分母值
  2. 销毁有理数T
  3. 用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母。
  4. 将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母
  5. 有理数T1,T2相加,结果存入有理数T3
  6. 有理数T1,T2相减,结果存入有理数T3
  7. 有理数T1,T2相乘,结果存入有理数T3
  8. 有理数T1,T2相除,结果存入有理数T3

二.作业内容

1.用ADT的抽象数据模型描述有理数数据类型。

ADT Rational{
数据对象:D={e2,e2|e1,e2都属于整型,存放于T中}
数据关系:R={e1,e2|e1是分子,e2是分母};
基本操作:

Status goujian();
Status DestroyTriplet();
Status get();
Status put();
Status jiafa();
Status jianfa();
Status chengfa();
Status chufa();
Status gys(int a, int b);   

}  ADT Rational

2.数据结构、函数说明。

头文件:

 

 函数:
 
 

3、代码实现说明

有理数构建:

销毁有理数T:

用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母:

将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母:

有理数加法:

有理数减法:

有理数乘法:

有理数除法:

最大公约数:

4、结果展示

正常情况:

负数情况:

 

分母为零:

合为整数:

、总结:

此次实验我对数据结构有了一定了解,数据结构需要在构建前先建立模版,构建函数时会思路更清晰。

posted on 2018-03-07 13:28  MAP;E  阅读(219)  评论(1编辑  收藏  举报