c语言稀疏矩阵转置实验报告,稀疏矩阵三元组实现矩阵转置算法实验报告

《稀疏矩阵三元组实现矩阵转置算法实验报告》由会员分享,可在线阅读,更多相关《稀疏矩阵三元组实现矩阵转置算法实验报告(5页珍藏版)》请在人人文库网上搜索。

1、实验三稀疏矩阵的三元组表示实现矩阵转置算法学院专业班学号姓名一. 实习目的1. 掌握稀疏矩阵的三元组顺序表存储表示;2. 掌握稀疏矩阵三元组表示的传统转置算法的实现;3. 掌握稀疏矩阵三元组表示的快速转置算法的实现;二. 实习内容1. 稀疏矩阵的按三元组形式输入,即按行序输入非零元的行号、列号、值,实现传统转置 算法,输出按通常的阵列形式输出。2. 稀疏矩阵的按三元组形式输入,即按行序输入非零元的行号、列号、值,实现快速转置 算法,输出按通常的阵列形式输出。三. 实验步骤1. 三元组的定义#defi ne MAX_SIZE 100 /非零元个数的最大值struct Tripleint i,j;。

2、 /行下标,列下标ElemType e; / 非零元素值;struct TSMatrixstruct Triple dataMAX_SIZE+1; /非零元三元组表,dataO未用in t mu, nu ,tu; /矩阵的行数、列数和非零元个数;2. 创建稀疏矩阵M (按三元组形式输入,即按行序输入非零元的行号、列号、值)3. 编写三元组传统转置函数。4. 编写三元组快速转置函数。4.主函数(1)程序代码#i nclude stdio.h#i nclude stdlib.h#defi ne MAX_SIZE 100 /非零元个数的最大值typedef int ElemType;struct T。

3、ripleint i,j; /行下标,列下标ElemType e; / 非零元素值;struct TSMatrixstruct Triple dataMAX_SIZE+1; / 非零元三元组表, data0 int mu,nu,tu; / 矩阵的行数、列数和非零元个数;int CreateSMatrix(TSMatrix &M) / 创建稀疏矩阵 Mint i,m,n;ElemType e;int k;printf( 请输入矩阵的行数 , 列数 , 非零元素数: ); scanf(%d,%d,%d,&M.mu,&M.nu,&M.tu);if(M.tuMAX_SIZE)return -1;M.d。

4、ata0.i=0; / 为以下比较顺序做准备 for(i=1;iM.mu|nM.nu)/行或列超出范围k=1;if(mi=i&p-j=j)/ p指向非零元,且 p所指元素为当前处理元素 printf(%3d,p-e); /输出 p 所指元素的值p+; / p指向下一个元素k+; / 计数器 +1else / p所指元素不是当前处理元素printf(%3d,0); /输出 0printf(n);void TransposeSMatrix(TSMatrix M,TSMatrix &T) /求稀疏矩阵 M的转置矩阵T。int p,q,col;T.mu=M.nu;T.nu=M.mu;T.tu=M.tu;if(T.tu)q=1; for(col=1;col c c c _J_ 丁. 丁SBB 丄疋币元元 c一一 n一二二06&50005专统矩阵转置程序执行后的矩阵七8的转置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值