稀疏矩阵和广义表子系统

稀疏矩阵和广义表子系统

ID:38753412

大小:53.50 KB

页数:8页

时间:2019-06-18

稀疏矩阵和广义表子系统_第1页
稀疏矩阵和广义表子系统_第2页
稀疏矩阵和广义表子系统_第3页
稀疏矩阵和广义表子系统_第4页
稀疏矩阵和广义表子系统_第5页
资源描述:

《稀疏矩阵和广义表子系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include#include#include#include#defineSMAX100typedefstructSPNode//定义三元组{inti,j,v;};//三元组非零元素的行、列和值typedefstructsparmatrix//定义稀疏矩阵{introws,cols,terms;//稀疏矩阵行、列和非零元素的个数SPNodedata[SMAX];//三元组表};typedefstructlinknode//定义广义表{inttag;//

2、区分原子项或子表的标志位linknode*link;uniondata_sublist//存放下一个元素的地址{chardata;//存放原子的值linknode*sublist;//存放子表的指针}node;};sparmatrixCreateSparmatrix()//创建稀疏矩阵{sparmatrixA;printf("tt请输入稀疏矩阵的行、列和非零元素的个数(用逗号隔开):");scanf("%d,%d,%d",&A.rows,&A.cols,&A.terms);for(intn=0;n<=A.terms-1;n++

3、){printf("tt输入非零元素的值(格式:行号,列号,值):");scanf("%d,%d,%d",&A.data[n].i,&A.data[n].j,&A.data[n].v);}returnA;}sparmatrixTrans(sparmatrixA){sparmatrixB;B.rows=A.cols;B.cols=A.rows;B.terms=A.terms;for(intn=0;n<=A.terms-1;n++){B.data[n].i=A.data[n].j;B.data[n].j=A.data[n].i;B

4、.data[n].v=A.data[n].v;}returnB;}voidShowSparmatrix(sparmatrixA){intk;printf("tt");for(intx=0;x<=A.rows-1;x++){for(inty=0;y<=A.cols-1;y++){k=0;for(intn=0;n<=A.terms-1;n++){if((A.data[n].i)==x&&(A.data[n].j==y)){printf("%8d",A.data[n].v);k=1;}}if(k==0)printf("%8d",k)

5、;}printf("tt");}}voidSearchSparmatrix(sparmatrixA,ints)//查找稀疏矩阵中非零元素{intn,t;t=A.terms;for(n=0;n

6、dsparmatrix(){intch=1,choice,s;structsparmatrixA,B;A.terms=0;B.terms=0;while(ch){printf("");printf("tt稀疏矩阵的三元组存储");printf("tt******************************");printf("tt*1----新建*");printf("tt*2----转置*");printf("tt*3----查找*");printf("tt*4----显示

7、*");printf("tt*0----返回*");printf("tt******************************");printf("tt请输入菜单号:(0-4):");scanf("%d",&choice);switch(choice){case1:A=CreateSparmatrix();break;case2:if(A.terms==0)printf("tt三元组为空!");else{B=Trans(A);printf("tt转置后的稀疏矩阵:");Show

8、Sparmatrix(B);}break;case3:{if(A.terms==0)printf("tt三元组为空!");else{printf("tt输入要查找的非零元素:");scanf("%

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。