Data_Structure01-绪论作业

Posted 郭胤鑫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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抽象数据模型描述有理数数据类型

 

2.数据结构、函数说明

头文件:

函数:

 

3.代码实现说明

(1)构造和销毁一个有理数

(2)

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

(3)加减乘除

(4)辗转相除求最大公约数

5.总结

根据数据结构中的逻辑类型和储存类型,我选择了使用逻辑类型的线性类型。先定义一个有理数作为int类型的指针,再由构建函数开辟一个长度为2的内存空间来储存分子分母,再把有理数作为一个类型进行操作。C++是面向对象的语言,本题中,我将有理数这个概念实例化,先定义了“概念”,而T1,T2,T3是几个特例,由泛型转为特性,在编程中就能避免很多问题。

在程序编写中,要把空泛的概念实体化,用我熟知的知识去描述。

 

6.运行截图

1,正常操作

2,分母小于等于零

以上是关于Data_Structure01-绪论作业的主要内容,如果未能解决你的问题,请参考以下文章

1-1.绪论-什么是数据结构

Data_Structure03-栈和队列

Data_Structure week02 线性表

数据结构——绪论

Data_Structure week03 栈与队列

Data-Structure01-绪论