博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
博客作业01-抽象数据类型
阅读量:7119 次
发布时间:2019-06-28

本文共 1651 字,大约阅读时间需要 5 分钟。

二、博客作业要求:

1.作业内容

ADT Rational{    数据对象:D={e1,e2,e3,e4|e1,e2,e3,e4属于ElemType类型}    数据关系:R1={
,
} 基本操作: InitRational( &T, v1, v2); DestroyRational( &T); Get( T,i,&e); Put( &T,i,e); Sum( T1, T2, &T3); Cha( T1, T2, &T3); Cheng( T1, T2, &T3); Chu( T1, T2, &T3); YueFen(&T);}ADT Rational

2.数据结构、函数说明

  • (1)Common.h

    1232112-20180307211326792-1262545338.png

  • (2)Rational.h

    1232112-20180307211432648-1688247432.png

3.代码实现说明

  • (1)构造有理数T

    1232112-20180307212522384-1137194193.png

    - 做法:动态申请内存,分别把4个变量放入数组T1,T2中。
  • (2)销毁有理数T

    1232112-20180307212751736-1349716538.png

    - 做法:利用free(T)解放内存,达到销毁的目的
  • (3)通过e返回有理数的分子或分母

    1232112-20180307213142312-1360189024.png

    - 做法:让e=有理数的分子或分母即可
  • (4)通过e修改有理数的分子或分母

    1232112-20180307213445349-1312631345.png

    - 做法:让有理数的分子或分母=输入的e即可
  • (5)有理数T1,T2相加,结果存入有理数T3

    1232112-20180307213550965-877870102.png

    - 做法:分别算出分子'T1[0]*T2[1]+T2[0]*T1[1]'和分母'T1[1]*T2[1]'的值,存放于T3中,然后约分
  • (6)有理数T1,T2相减,结果存入有理数T3

    1232112-20180307214133962-1148729958.png

    - 做法:分别算出分子'T1[0]*T2[1]-T2[0]*T1[1]'和分母'T1[1]*T2[1]'的值,存放于T3中,然后约分
  • (7)有理数T1,T2相乘,结果存入有理数T3

    1232112-20180307214158009-449619503.png

    - 做法:分别算出分子'T1[0]*T2[0]'和分母'T1[1]*T2[1]'的值,存放于T3中,然后约分
  • (8)有理数T1,T2相除,结果存入有理数T3

    1232112-20180307214217370-1898655416.png

    - 做法:分别算出分子'T1[0]*T2[1]'和分母'T1[1]*T2[0]'的值,存放于T3中,然后约分(注意:如果T2为0,则除法运算不存在)
  • (9)约分

    1232112-20180307214036998-890935612.png

    - 做法:利用辗转相除法得出最简分式,如果遇到负数则现将其变为正数

4.代码互评

5.结果展示

  • (1)构造有理数

    1232112-20180307215019713-1471289412.png

  • (2)返回e的值

    1232112-20180307215228697-1727262752.png

  • (3)修改有理数的分子分母

    1232112-20180307220019672-272460468.png

  • (4)加减乘除的值

    1232112-20180307215417348-356691832.png

  • (5)如果分母为负数或0时

    1232112-20180307221802123-1497440582.png

  • (6)返回输错了

    1232112-20180307222753749-1511906803.png

  • (7)如果T2分子为零,除运算不存在

    1232112-20180307222837157-1063788168.png
    1232112-20180307222921316-264185954.png

  • (8)当修改的参数e小于等于0时

    1232112-20180307223158813-1688756008.png

6.总结

  • 数据结构:数据结构是我们计算机专业的基本课程之一。我们主要通过数据结构来学习用计算机实现数据组织和数据处理的方法。人们通过数据结构这门课学习来实现某些数据的链接和学习他们之间的关系。数据结构包括数据元素之间的关系、数据元素及其关系在计算机存储器中的储存方式、施加在数据上的操作。总的来说,我们必须认真学习这门课程。

  • 抽象数据类型:

    - (1)格式:            ADT 抽象数据类型名{                     数据对象:数据对象的声明                     数据关系:数据关系的声明                     基本运算:基本运算的声明            }ADT 抽象数据类型名- (2)重要特征:数据抽象和 数据分装- (3)定义:是用户进行软件系统设计时从问题的数学模型中抽象出来的逻辑数据结构和逻辑数据结构上的运算,不考虑计算机的具体存储结构部和运算的具体实现算法。抽象数据类型可以让我们更好的通过逻辑顺序来实现代码上的运算,直观,简洁。

转载于:https://www.cnblogs.com/guanzheng7474741/p/8525999.html

你可能感兴趣的文章
cacti安装的一个错误
查看>>
四:Cocos2d-x设计思想
查看>>
java8之Stream API(提取子流和组合流)
查看>>
工大瑞普启动器
查看>>
我的友情链接
查看>>
mongodb,spring data api常用总结
查看>>
常用端口知识汇总
查看>>
outlook客户端接收邮件报错0x80040600
查看>>
EditPlus注册码 亲测最新版可用
查看>>
如何消除Windows 7中的搜索记录
查看>>
request.getParameterMap()使用
查看>>
挂载硬盘报错无法挂载、分区只读的解决方法
查看>>
xFire两种客户端的传递参数
查看>>
python版判断IP地址
查看>>
Sublime text2空格替换tab键
查看>>
linux中脚本后台执行的方法
查看>>
Python爬虫入门教程 6-100 蜂鸟网图片爬取之一
查看>>
我的友情链接
查看>>
sql 注入
查看>>
暴雪战网客户端上使用的那些开源库!
查看>>