三元组实验报告_第1页
三元组实验报告_第2页
三元组实验报告_第3页
三元组实验报告_第4页
三元组实验报告_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 / 10 三元组实验报告 实验报告: 3 元组的实现 一、问题描述 设计一个实现 3元组基本操作的 C 语言程序: 1、实现三元组的构造、取值、修改、有序判断、 最大值、最小值和销毁、打印等基本操作 2、自行设计菜单界面,美观、实用性强 二、实验内容 destroytriplet; 销毁一个三元组 gettriplet;返回到三元组的某一位 puttriplet;修改三元组的某一位 isascending; 判断是否升序 isdescending; 判断是否降序 max; 求最大值 min; 求最小值 display;打印结果 三、代码展示 int main printf; printf; int a, i; scanf; if exit; printf; int p1, p2, p3; int *point; printf; printf; printf; printf; printf; printf; printf; printf; printf; printf; printf; scanf; while 2 / 10 n); switch case 0: exit; case 1: printf; point = inittriplet; printf; for printf); break; case 2: destroytriplet; break; case 3: gettriplet; break; case 4: puttriplet; break; case 5: isascending; break; case 6: isdescending; break; case 7: max; break; case 8: min; break; 开 printf; / 函数一:构造一个 3元组 int *inittriplet / 函数三 返回 status gettriplet int *t; t = malloc); if exit; scanf; t0 = v1; t1 = v2; t2 = v3; return t; int i; printf; scanf; if return FALSE; e = ti-1; printf; return TURE; / 函数六 判断是否降序 status isdescending ifprintf; return TURE; else printf; return 3 / 10 FALSE; 一、 设计人员相关信息 1. 设计者姓名、学号和班号: 12 地信李晓婧 12016242983 2. 设计日期: 2016. 3. 上机环境: VC+ 二、 程序设计相关信息 1. 实验题目:实验题 假设 n*n 的稀疏矩阵 A 采用三元组表示,设计一个程序实现如下功能:生成稀疏矩阵三元组;输出转置矩阵三元组。 | 1 0 3 1 | | 0 1 0 0 | | 0 0 1 0 | | 0 0 1 1 | 2. 实验项目组成: 生成稀疏矩阵三元组;输出转置矩阵三元组 3. 实验项目的程序结构: 4. 实验项目包含的各个文件中的函数的功能描述: CreatMat:对一个二维稀疏矩阵创建其三元 组表示,以行序方式扫描二维稀疏矩阵 A,将其非零的元素插入到三元组 t中。 DispMat:输出三元组。从头到尾扫描三元组 t,依次输出元素值。 TranMat:矩阵转置。对一个 m*n 的矩阵 Am 4 / 10 *n,其转置矩阵是一个 n*m的矩阵,设为 Bn*m,满足 ai,j=bi, j,其中 0 i m-1, 0 j n-1。 5. 算法描述或流程图: 6. 实验数据和实验结果: 7. 出现的问题及解决方案 主函数缺少一次输出,稀疏矩阵没有显示。 解 决方案:主函数加一个输出稀疏矩阵 disp。 三、 程序盘 提交的程序盘应包含全部的源程序清单和可执行文件。 国脉信息学院数据结构实验报告 _09_级 _x_班 _2016_年 _x 月_xx_日 姓名 _ xxxxx_ 学号 _xxxx_ 得分_ 1实验题目 实现创建一个三元组,取三元组的任意一个分量,置三元组的任意一个分量,求三元组的最大分量,求三 元组的最小分量,显示三元组等基本操作。 2需求分析 本演示程序用 vC编写,完成三元组的生成,取三元组的任意一个分量,置三元组的任意一个分量,求三元组的5 / 10 最大分量,求三元组的最小分量,显示三元组等基本操 输入的形式和输入值的范围:创建一个三元组时需要输入三元组 元素的值;取三元组的任意一个分量时输入所取元素的位置;置三元组的任意一个分量时输入需要置的元素的位置以及所置的值。在所有输入中,元素的值都是整数 输出的形式:在所有操作中都显示操作提示以及操作后三元组的 内容。其中:创建一个三元组操作后显示该三元组;完成取三元组的任意一个分量求三元组的最大分量,求三元组的最小分量操作后符合要求元素的值,完成置三元组的任意一个分量后显示操作后的三元组。 程序所能达到的功能:完成三元组的创建,取三元组的任意一个 元素,置三元组的任意一个分量,得到三元组的最大值与最小值, 显示三元组等 测试数据: A创建三元组操作中依次输入随意的三个整型数生成 一个三元组 T B取三元组中的分量操作中输入元素的位序,返回所取元素在 6 / 10 三元组中的位置及它的值 C置换三元组中的元素操作输入要置换元素在三元组中的位序 及置换后新的元素值,返回置换后新的三元组 D完成前面的操作后会自动的显示出新的三元组中最大值元素 和最小值元素 E最后销毁三元组 3概要设计 1)为了实现上述程序功能,需要定义三元组的抽象数据类型: ADT Triplett 数据对象: D=e1,e2,e3|e1,e2,e3 ElemSet 数据关系: R= 基本操作: InitTriplet 操作结果:构造了三元组 T,元素 e1, e2和 e3分别被赋以 参数 v1, v2和 v3的值。 DestroyTriplet 操作结果:三元组 T被销毁。 Get 初始条件:三元组 T 已存在 ,0 操作结果: 用 e7 / 10 返回 T的第 i个元素的值。 Put 初始条件:三元 组 T已存在 0 操作结果:改变 T的第 i个元素值为 e。 若存在,返回元素在表中的位置;若不存在,返回-1. Max 初始条件:三元组 T已存在 操作结果:用 e返回 T 的 3 个元素中的最大值。 Min 初始条件:三元组 T已存在 操作结果:用 e返回 T 的 3 个元素中的最小值。 Print 初始条件:三元组 T已存在 操作结果:打印三元组 T的各个元素值 2)本程序包含 7 个函数: 主函数 main 初始化三元组函数 InitTriplet 销毁三元组函数 DestroyTriplet 取三元组元素函数 Get 置三元组元素函数 Put 求最大值函数 Max 8 / 10 求最小值函数 Min 打印三元组函数 Print 各函数间关系如下: 1、 其中主函数 main 需调用函数 初始化三元组函数、 销毁三元组函数、 取三元组元素函数、 置三元组元素 函数、 求最大值函数、 打印三元组函数、 求最小值函数; 2、 函数 销毁三元组函数、 取三元组元素函数、 置三元 组元素函数、 求最小值函数、 打印三元组函数、 求最大值函数 ,都必须先执行函数 初始化三元组函数使得三元组存在。 4详细设计 具体程序设计如下: #include #include #include #define overflow -2 #define OK 1 #define ERROR 0 typedef int status; 9 / 10 typedef int ElemType; typedef ElemType *Triplet; int InitTriplet /构造三元组 T,依次置 T 的三个元素初值为v1,v2,v3=malloc); if exit; 0=v1;1=v2;2=v

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论