实验四稀疏矩阵三元组下转置

实验四稀疏矩阵三元组下转置

ID:35342355

大小:64.35 KB

页数:5页

时间:2019-03-23

实验四稀疏矩阵三元组下转置_第1页
实验四稀疏矩阵三元组下转置_第2页
实验四稀疏矩阵三元组下转置_第3页
实验四稀疏矩阵三元组下转置_第4页
实验四稀疏矩阵三元组下转置_第5页
资源描述:

《实验四稀疏矩阵三元组下转置》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验四、稀疏矩阵三元组下转置一、实验内容将稀疏矩阵中的每个非零元素aij表示为(i,j,v),即(行号,列号,非零元素值)•称为三元组表示法。用结构类型來描述三元组。将稀疏矩阵的非零元素对应的三元组所构成的集合,按行优先的顺序排列成一个线性表。在稀疏矩阵用三元组顺序表存储结构下,实现稀疏矩阵转置,得到其转置矩阵的三元组顺序表存储表示。要求:1)采用转置算法I:直接取,顺序存2)采用转置算法II:顺序取,直接存。要使用两个辅助一维数组,分别先计算出原矩阵每一列的非零元个数以及每一列的第一个非零元在转置矩阵的

2、三元组顺序表中的存储位置。二、实验目的1.掌握稀疏矩阵的三元组顺序表存储结构;2.掌握稀疏矩阵转置算法I;3.掌握稀疏矩阵转置算法II三、实验代码//文件:SparseMatrix.htemplatestructelement{introw,col;//行数、列数Titem;//元素值};constintMaxTerm=100;templateclassSparseMatrix{public:SparseMatrix(){};SparseMatrix(intintmu,in

3、tintnu,intinttu,elemcntdatatemp[]);//有参构造函数,初始化稀疏矩阵"SparseMatrix(){};//析构函数,释放存储空间elementGetMatrix(intintnumber);//输出下标对应的数组元素voidPrt();//显示三元组顺序表voidTrans1(SparseMatrix&B);//直接取、顺序存的矩阵转置算法voidTrans2(SparseMiitrixA,SparseMatrix&B);//顺序取、直接存

4、的矩阵转置算法private:elementdata[MaxTerm];//矩阵非零元素intmu,nu,tu;//行数、列数、非零元个数};//文件:SparseMatrix.cpptfinclude"SparseMatrix.h"//引用三元组顺序表的头文件#include//引用string库函数的头文件usingnamespacestd;//指出后续的所有的程序语句都在名字空间std内/*前置条件:三元组顺序表不存在输入:三元组顺序表的行数(intmu)s列数(intnu)>

5、非零元个数(inttu)、初始三元组(datatemp[])功能:三元组顺序表的初始化输出:无后置条件:建立一个三元组顺序表*/templateSparseMatrix::SparseMatrix(intintmu,intintnu,intinttu,elementdatatcmp[]){if(inttu>MaxTerm)throw〃构造函数的初始化参数不正确";mu=intmu;nu=intnu;tu=inttu;for(inti=O;i

6、三元组顺序表已存在输入:下标(intnumber)功能:读取这组下标对应的数组元素输出:对应元素后置条件:三元组顺序表不变*/template〈classT>element〈T>SparseMatrix::GetMatrix(intintnumber){/*前置条件:输入:功能:if(intnumber>=tu

7、

8、intnumber<0)throw输入位置不正确";returndata[i];无无显示三元组顺序表输出:无后置条件:建立一个三元组顺序表*/templatevoidSpa

9、rseMatrix::Prt(){for(inti=0;ivoidSparseMatrix::Trans1(SparseMatrix&B){intpb,pa;

10、B.mu=this->nu;B.nu=this~>mu;B.tu=this~>tu;//设置彳亍数、列数、非零元素个数if(B.tu>0)〃有非零元素则转换{pb二0;for(intcol=0;colnu;col++)//依次考察每一列for(pa=0;patu;pa++)//在A中扫描整个三元组表if(this->data[paj.col==col)//处理col列元素{B.data[pbj.ro

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

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

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