zoukankan      html  css  js  c++  java
  • 博客作业01-抽象数据类型

    有理数基本运算

    1.抽象数据结构

    ADT Rational{
            
            数据对象:D={e1,e2 | e1,e2属于ElemType类型}
            
            数据关系:R={<e1,e2>}    //e1为分子,e2为分母
    
            基本操作:
                   InitRational(*T, v1, v2);//构造有理数T,元素e1,e2分别被赋以分子、分母值
    
                   DestroyRational(*T);//销毁有理数T
    
                   Get(*T, i, e);//用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母
    
                   Put(*T, i, e);//将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母
    
                   yuefen*T);//约分得最简分数
    
                   add(*T1, *T2, *T3);//有理数T1,T2相加,结果存入有理数T3
    
                   jian(*T1, *T2, *T3);//有理数T1,T2相减,结果存入有理数T3
    
                   cheng(*T1, *T2, *T3);//有理数T1,T2相乘,结果存入有理数T3
    
                   chu(*T1, *T2, *T3);//有理数T1,T2相除,结果存入有理数T3
    }ADT Rational
    

    2.数据结构、函数说明

    3.代码实现说明

    • 主函数:
    • 构造有理数:
    • 销毁有理数:
    • 约分:
    • 相加:
    • 相减:
    • 相乘:
    • 相除:
    • 返回分子,分母:
    • 更改分子,分母:

    4.结果展示

    • 测试数据
    • 分母为非正数时
    • 负有理数
    • 有一个有理数为0时(自定义:如果结果为零,分子和分母都为零)
    • 两个相同且不是最简的有理数
    • 修改,返回,输入数据,以最后的有理数T3为例,e的初值设为5,先改变T3分母,如红色框;再返回T3当前的分母,如蓝色框;

    5.代码互评

    • 志坚的代码(头文件与构造有理数的函数):

    • 我的代码:


      不同之处:
      1.从头文件中可以看出,我和他使用的数据类型不一样,我使用的是结构体表示有理数,而他是用数组;
      2.对于构造有理数, 他用到了动态申请空间,由InitRational分配储存空间,比较节省空间效率,是一大优点,而我是直接使用结构体表示;
      3.从变量名的命名上,我们都使用了typedef来重新命名,函数风格上,我们都是无返回值的类型,只是形参有不一样,我大多使用指针,而他用变量名;但是函数中他使用了更多的c++语法,所以整体上比我的好得多。

    6.总结

    • 了解了抽象数据结构的用法,还有三元组的形式,接触到了一些c++语法,比如cin,cout,&等等的用法,还有就是复习了一些c语言的知识,比如函数,指针,结构体,数组等的应用。
    • 但是没学到的东西还是很多,很多知识都是一知半解,弄不透彻,所以做起题目很蒙,不知道该从何入手,比如用三元组,函数调用时,函数的形参到底是要怎么表示,什么类型。
  • 相关阅读:
    捕获控制台输出信息
    .net 值类型变量赋值需要注意
    《河北省实施〈中华人民共和国道路交通安全法〉办法》
    在Win7应用程序中使用盾牌图标
    32位WIndows 7的“快速启动”,重启后丢失的问题,被确认是一个bug
    在本地网页中,让flash可以访问本地文件
    WPF 3D编程中,摄像机的位置很重要
    让Windows7任务栏图标显示Windows菜单(恢复,最小化,关闭)
    Joomla 书籍
    Joomla! 1.5 Template Toolbar简化Joomla模板做成的工具
  • 原文地址:https://www.cnblogs.com/mayifang/p/8524579.html
Copyright © 2011-2022 走看看