欢迎来到天天文库
浏览记录
ID:35986939
大小:46.00 KB
页数:3页
时间:2019-04-29
《数据结构矩阵.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验4矩阵实验目的:1、掌握特殊线性结构数组。2、掌握二维数组的简单应用。3、掌握矩阵的三元组表示方法4、掌握矩阵的转置。实验内容:1、对一个稀疏矩阵而言,按提示输入其行号、列号及每一个元素值,程序将建立稀疏矩阵的三元组存储结构,并将三元组存储结构的稀疏矩阵转置,程序还将显示转置前后稀疏矩阵的三元组结构。答:#include#include#defineMAXLEN40typedefstruct{inti,j;intv;}NODE;typedefstruct{intm,n,t;NO
2、DEdata[MAXLEN];}SPMATRIX;SPMATRIXtranspose(SPMATRIXa){/*稀疏矩阵(三元组存储结构)转置算法*/intp,q,col;SPMATRIXb;b.m=a.n;b.n=a.m;b.t=a.t;if(a.t!=0){q=1;for(col=1;col<=a.n;col++)//访问b三元组的每一行for(p=1;p<=a.t;p++)//访问a三元组的每一行if(a.data[p].j==col)//如果b三元组的行对应a数组的列,就进行转置{b.data[q].j=a.d
3、ata[p].i;b.data[q].i=a.data[p].j;b.data[q].v=a.data[p].v;q++;}}returnb;}voidprintmatrix(SPMATRIXc){/*稀疏矩阵(三元组存储结构)显示*/intn,i;n=c.t;for(i=1;i<=n;i++)printf("[%d]行号=%d列号=%d元素值=%d",i,c.data[i].i,c.data[i].j,c.data[i].v);}voidmain(){SPMATRIXa;SPMATRIXb;inti,j,r,c,
4、t,n;n=1;printf("输入矩阵行号数:");scanf("%d",&r);printf("输入矩阵列号数:");scanf("%d",&c);a.m=r;a.n=c;printf("");for(i=0;i5、+1;a.data[n].v=t;n=n+1;}}n=n-1;a.t=n;/*a.t中为稀疏矩阵非零元素个数*/printf("稀疏矩阵三元组表示:");printmatrix(a);/*稀疏矩阵(三元组存储结构)转置*/b=transpose(a);printf("转置后稀疏矩阵三元组表示:");printmatrix(b);printf("");}
5、+1;a.data[n].v=t;n=n+1;}}n=n-1;a.t=n;/*a.t中为稀疏矩阵非零元素个数*/printf("稀疏矩阵三元组表示:");printmatrix(a);/*稀疏矩阵(三元组存储结构)转置*/b=transpose(a);printf("转置后稀疏矩阵三元组表示:");printmatrix(b);printf("");}
此文档下载收益归作者所有