Data_Structure01--绪论作业

 一.作业题目

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

  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 Rational{
  数据结构:
    D={e1,e2|e1,e2为整数}
  数据关系:
    R={<e1,e2>|e1为有理数的分子,e2为有理数的分母,e2不能为0}
  基本操作:

    typedef ElemType *Rational;
    //操作结果:分配两个存储空间
    int IntRetional(Rational &T,ElemType R1,ElemType R2);
    //操作结果:构建一个三元组T,把R1,R2的值赋给e1,e2
    int Destory(Rational &T);
    //操作结果:销毁三元组
    int Get(Rational &T,int i,ElemType &e);
    //操作结果:用e返回T第i元的值
    int Change(Rational &T,int i,ElemType &e);
    //操作结果:改变T第i元的值
    int Add(Rational &T1,Rational &T2,Rational &T3);
    //操作结果:T1+T2=T3
    int Sub(Rational &T1,Rational &T2, Rational &T3);
    //操作结果:T1-T2=T3
    int Mul(Rational &T1,Rational &T2, Rational &T3);
    //操作结果:T1*T2=T3
    int Div(Rational &T1,Rational &T2, Rational &T3);
    //操作结果:T1/T2=T3
    int gcd(int a,int b);
    //操作结果:求e1,e2的最大公约数

    }ADT Rational

  2.数据结构与函数代码说明

    1.头文件

    

    2.函数

    

 

    3.函数说明

    1.构建三元组和销毁

    

 

    2.返回分子分母的值

    

 

    3.更改分子分母的值

    

 

    4.加法

    

 

    5.减法

    

 

 

    6.乘法

    

 

    7.除法

    

    8.约分

    

 

 3.代码测试

 

 

4.感想:

此次作业让我初步了解了数据结构,通过老师同学的帮助也成功的完成了此次作业,同时我也了解到了抽象数据类型的定义:一个数学模型以及定义在该模型上的一组操作。还有数据结构是计算机存储、组织数据的方式。数据结构是相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。

 

 

 

 

转载于:https://www.cnblogs.com/MR-LlN/p/8522223.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值