一.作业题目

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

    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抽象数据模型描述我的有理数数据类型

2.数据结构、函数说明

  头文件:

  函数:

3.代码实现说明

  (1)构造有理数T:

    

  (2)销毁有理数T:

    

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

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

  这两点放一起说明

    

  (5)有理数相加

    

  (6)有理数相减

    

  (7)有理数相乘

    

  (8)有理数相除

    

  (9)求最大公约数

    

  (10)输出函数

    

4.结果展示

  sample:

    

  负数的情况:

      

  输入分母为0的情况:

      

  结果产生整数的情况:

      

5.总结

  结合本次作业说说我对数据结构及抽象数据类型的理解:

   数据结构:首先数据结构分为两种类型:逻辑结构和存储结构。两种结构实际都是想如何处理这一类问题的方法,在描述如何做到这件事情,通过数据之间的互相关系的描述,来构建问题的解决方法。就像此次有理数的题目,我构建了线性结构,来指示有理数的分子分母如何运转,给了他们一种组织在一起的媒介。如同是一种数据的集合。

抽象数据类型:在解决问题上关有数据结构还不够,还需要对数据结构进行操作。但是为什么说抽象呢,也就说他并不是具体整型还是字符型这种基本类型,而是我们根据我们要解决的实际问题,建立起的描述问题的模型,是基于现实情况的。如此题我定义了Rational的类型,构建了线性结构,还对其中的Rational进行了构造,删除等操作。

三.其他学习指导

  使用git命令行上传代码到码云

    

最新文章

  1. jquery.datatable.js与CI整合 异步加载(大数据量处理)
  2. [Linux] - CentOS IP设置方法
  3. Yii2 事务
  4. vs2013如何在C++中调用Lua(二)
  5. Ajax前台与Mod_python后台应用示例
  6. Java面试题(1)
  7. GPU---并行计算利器
  8. git相关网页
  9. Android控件大全(三)——RecyclerView
  10. svn 提交 commit慢
  11. js购物时的放大镜效果
  12. asp.net 跨页面传值常用方法
  13. 小胖说事24-----property's synthesized getter follows Cocoa naming convention for returning 'owned' objec
  14. js中的sort方法
  15. proc文件系统探索 之 以数字命名的目录
  16. 获取radio、select、checkbox标签选中的值
  17. tp3.2 模块单独配置数据库
  18. springboot 数据验证
  19. 01 Django REST Framework 介绍
  20. Java的Unsafe类

热门文章

  1. 由浅入深了解EventBus:(一)
  2. HDU 4704 Sum (隔板原理 + 费马小定理)
  3. Django中类视图的简介及使用
  4. Entity Framework技术系列
  5. Android程序员学WEB前端(2)-HTML(2)-锚点链接列表表单-Sublime
  6. Android敏捷开发、CI(持续集成)探究
  7. keras系列︱seq2seq系列相关实现与案例(feedback、peek、attention类型)
  8. @media 照成的问题
  9. iOS【野路子】精准获取webView内容高度,自适应高度
  10. VS2010对c++11的支持情况验证