数据结构实验报告-数组.docx

上传人:scccc 文档编号:13949594 上传时间:2022-01-27 格式:DOCX 页数:10 大小:21.79KB
返回 下载 相关 举报
数据结构实验报告-数组.docx_第1页
第1页 / 共10页
数据结构实验报告-数组.docx_第2页
第2页 / 共10页
数据结构实验报告-数组.docx_第3页
第3页 / 共10页
数据结构实验报告-数组.docx_第4页
第4页 / 共10页
数据结构实验报告-数组.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《数据结构实验报告-数组.docx》由会员分享,可在线阅读,更多相关《数据结构实验报告-数组.docx(10页珍藏版)》请在三一文库上搜索。

1、数据结构实验报告 - 数组和广义 表数据结构实验报告实验序号: 7 实验项目名称:数组和广义表学号姓名专业班级实验地点指导教师实验时间、实验目的及要求本次实验目的是通过上机练习, 熟悉和掌握课堂所讲授的基本知识点。 要求 上机以前要认真复习课堂教学内容。完成稀疏矩阵的三元组顺序存储。二、实验设备(环境)及要求计算机; 学生不许把食物带到机房吃; 不许上网做与实验无关的内容; 不许同 学之间聊天;保持实验室安静卫生。下课把键盘,座椅放回原处。三、实验内容与步骤稀疏矩阵压缩存储,三元组顺序表的实现。 然后完成操作 CreateSMatrix(&M) 创建稀疏矩 阵,和求稀疏矩阵的转置 Transp

2、oseSMatrix(TSMatrix &M, TSMatrix &T) 。编写一个函数,按照矩阵的形式打印出稀 疏矩阵。 Header.h#include #include / 稀疏矩阵的三元组顺序表存储#define MAXSIZE 125 / 非零元个数的最大值typedef int ElemType;typedef struct/ 三元组节点 int i,j;/ 非零元的行下标、列下标ElemType e;/ 矩阵的元素值。Triple;typedef structTriple dataMAXSIZE+1;/ 非零元数组, data0 不用 int mu,nu,tu;/ 矩阵的行数、列

3、数、非零元个数。TSMatrix;/ 稀疏矩阵的操作函数 /void CreateSMatrix(TSMatrix *M)/ 以行为主序,创建稀疏矩阵 char sign=y;int tu;(*M).tu=0;(*M).mu=0;(*M).nu=0;printf( 请输入矩阵的行数: n);scanf(%d,&(*M).mu);printf( 请输入矩阵的列数: n);scanf(%d,&(*M).nu);while(sign=y)+(*M).tu;tu=(*M).tu;printf( 请输入第 %d个非零元 n,tu);printf(n 请输入行号: ); scanf(%d,&(*M).da

4、tatu.i);printf(n 请输入列号: ); scanf(%d,&(*M).datatu.j);printf(n 请输入元素值: );scanf(%d,&(*M).datatu.e);printf(nn 如果继续输入其他非零元素,请输入字母 y ,否则请输入 n : );scanf(%c%c,&sign,&sign);void PrintSMatrix(TSMatrix *M)int *p,k,i,j;int mu,nu,tu;用来保存每行元素mu=(*M).mu;nu=(*M).nu;tu=(*M).tu;p=(int *)malloc(nu+1)*sizeof(ElemType);

5、/for(i=1;i=mu;i+)for(k=0;k=nu;k+) pk=0;for(k=1;k=tu;k+)if(*M).datak.i=i)p(*M).datak.j=(*M).datak.e;for(j=1;j=nu;j+) printf(%-5d,pj);printf(n);void TransposeSMatrix(TSMatrix *M,TSMatrix *T)/ 采用三元组表存储,实现稀疏矩阵的转置。int q=1,col=1;(*T).mu=(*M).nu;(*T).nu=(*M).mu;(*T).tu=(*M).tu;for(col=1;col=(*M).nu;col+)fo

6、r(q=1;q=(*M).tu;q+)if(*M).dataq.j=col)(*T).dataq.i=(*M).dataq.j;(*T).dataq.j=(*M).dataq.i;(*T).dataq.e=(*M).dataq.e;Source.h#includeheader.hvoid main()TSMatrix M,T;CreateSMatrix(&M);PrintSMatrix(&M);TransposeSMatrix(&M,&T); printf(nn);PrintSMatrix(&T);四、实验结果与数据处理五、分析与讨论以前学过另一种将矩阵转置的方法,现在学习的这种方法更方便,遇到复 杂、阶数比较大的有规律的矩阵,存储更省内存。这种方法更具有一般性,能 学到这种通用的方法大大减轻了计算量,感觉很好。六、教师评语签名:日期:成绩

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1