1、数据结构 矩阵软 件 学 院上 机 实 验 报 告课程名称: 数据结构 实验项目: 矩阵 实 验 室: 耘 慧420 姓 名: 学 号 专业班级: 实验时间: 2016.11.24 实验成绩评阅教师一、实验目的及要求1掌握稀疏矩阵压缩存储方法(三元组顺序表存储)。2完成压缩存储下矩阵计算(矩阵转置)。二、性质验证性三、实验学时2学时四、实验环境 C与C+程序设计学习与实验系统五、实验内容及步骤实验内容:1.实现矩阵压缩存储。(静态数组压缩存储或直接输入矩阵非0元均可)2.实现矩阵转置算法。3.实现矩阵快速转置。实验步骤:1.实现矩阵压缩存储。(静态数组压缩存储或直接输入矩阵非0元均可)2.实现
2、矩阵转置算法TransposeSMatrix(TSMatrix M,TSMatrix &T)。3.实现矩阵快速转置FastTransposeSMatrix(TSMatrix M,TSMatrix &T)。4.主函数中创建矩阵M,将M调用转置算法转置成矩阵N,调用快速转置算法转化成矩阵T。六、实验数据及结果分析七、总结 了解了矩阵的一些知识,懂得了矩阵的一些算法。并且在实际上机中,学会了矩阵的程序的编写方法。附录 源程序清单插入; #include#includemalloc.h#include#include#define OK 1#define ERROR 0#define MAXSIZE
3、12500#define MAXRC 1000typedef int ElemType;typedef int Status;typedef struct int i,j;ElemType e;Triple; typedef struct Triple dataMAXSIZE+1; int rposMAXRC+1; int mu,tu,nu;RLSMatrix;Status TransposeSMatrix(RLSMatrix M, RLSMatrix &T) int q=1,col=0,p=0; T.mu=M.nu; T.nu=M.mu; T.tu=M.tu; if(T.tu) q=1; f
4、or(col=1;col=M.nu;+col)for(p=1;p=M.tu;+p)if(M.datap.j=col)T.dataq.i=M.datap.j;T.dataq.j=M.datap.i;T.dataq.e=M.datap.e;+q;return 0;Status FastTransposeSMtrix(RLSMatrix M,RLSMatrix &T) int col=0,t=0,p=0,q=0;ElemType num100,cpot100; T.mu=M.nu;T.nu=M.mu;T.tu=M.tu;if(T.tu)for(col=1;col=M.nu;+col)numcol=0
5、;for(t=1;t=M.tu;+t)+numM.datat.j;cpot1=1;for(col=2;col=M.nu;+col) cpotcol=cpotcol-1+numcol-1;for(p=1;p=M.tu;+p)col=M.datap.j;q=cpotcol;T.dataq.i=M.datap.j;T.dataq.j=M.datap.i;T.dataq.e=M.datap.e;+cpotcol;return OK;Status CreateSMatrix(RLSMatrix *M)int k,m,n,i;ElemType e;printf(请输入行 列 非零个数);scanf_s(%
6、d,&(*M).mu);scanf_s(%d,&(*M).nu);scanf_s(%d,&(*M).tu);(*M).data0.i=0;for(i=1;i=(*M).tu;i+) do printf(请输入元素行列元素值); scanf_s(%d,&m);scanf_s(%d,&n);scanf_s(%d,&e); k=0; if(m(*M).mu|n(*M).nu) k=1; if(m=(*M).datai-1.i&n=(*M).datai-1.j) k=1; while(k); (*M).datai.i=m; (*M).datai.j=n; (*M).datai.e=e; return
7、OK;void printfSMatrix(RLSMatrix &M) int i; printf_s(%4d%4d%8dn,M.mu,M.nu,M.tu); for(i=1;i=M.tu;i+) printf_s(%4d%4d%8dn,M.datai.i,M.datai.j,M.datai.e);int main(void) RLSMatrix M,N,T,Q;CreateSMatrix(&M);FastTransposeSMtrix( M,T);printfSMatrix(T);CreateSMatrix(&N);TransposeSMatrix(M,Q);printfSMatrix(Q);_getch();return 0;Welcome ToDownload 欢迎您的下载,资料仅供参考!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1