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

    博客作业01-抽象数据类型

    1.作业内容(1分)

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

    ADT Rational {
            数据对象:D={ | e1,e2∈I (I为整数集合) }
            数据关系:R={ e1是有理数的分子,e2是有理数的分母,且e2>0 }
            基本操作:
                InitRational(&R, e1, e2);            //建立有理数 
                DestroyRational(&R);               //删除有理数
                Get(&R,i,&e);                          //查找有理数
                Put( &R,i,e);                           //更改有理数
                Rationaladd( &R, R1,R2) ;        //有理数加法
                Rationalsubtraction(&R,R2);    //有理数减法 
                Rationalmul(&R,R1,R2);         //有理数乘法
                Rationaldiv(&R,R1,R2);         //有理数除法 
                Rationalprint(&R);                //打印有理数
    } ADT Rational
    

    2.数据结构、函数说明(2分)

    数据结构如下图:

    3.代码实现说明(5分)

    (1)构造有理数

    (2)销毁有理数

    (3)查找有理数

    (4)更改有理数

    (5)有理数加法

    (6)有理数减法

    (7)有理数乘法

    (8)有理数除法

    (9)打印

    4.代码互评(选做,加分)

    炳辉写的建立函数:


    我的建立函数:


    炳辉的函数是直接传入四个参数,只返回一个首地址,而我每次只能传入两个,所以要调用两次,并返回两个首地址,他的方法虽然简便,但是容易造成混乱,我的方法能直观看出是两个有理数,虽然调用起来比较麻烦但是我感觉我的方法更好。

    5.结果展示(2分)

    (1)基本操作

    加法且值为1时

    减法且值为0时

    乘法

    除法

    查找分子分母

    更改分子分母


    健壮性

    6.总结(1分)

    数据结构是计算机内数据的组织方式和储存方法,包括数据的逻辑结构和存储结构。逻辑结构包括线性结构和非线性结构,非线性结构有树,图等,存储结构有顺序和链式两大类。根据问题选择不同数据结构可以提升解决问题的效率。
    抽象数据类型是根据已有的数据类型,根据问题需要创造出一种全新的数据类型,等符合实际需要。抽象数据类型也叫ADT,包含数据对象,数据关系和基本操作,基本操作必须有新建和销毁两项.

  • 相关阅读:
    MYSQL 神奇的操作insert into test select * from test;
    mysql排序字段为空的排在最后面
    Redis有效时间设置及时间过期处理
    Dom4j 使用简介
    ASP.NET中使用多个runat=server form(转)
    谨以此文献给才毕业25年的朋友(转)
    门户网站
    庄思浩和BEA公司
    是什么限制了我们面向对象(的开发) (转)
    模态窗口和非模态窗口
  • 原文地址:https://www.cnblogs.com/doimpossible/p/8503394.html
Copyright © 2011-2022 走看看