数据结构实验之稀疏矩阵的转置

数据结构实验之稀疏矩阵的转置

ID:30847088

大小:138.28 KB

页数:7页

时间:2019-01-03

数据结构实验之稀疏矩阵的转置_第1页
数据结构实验之稀疏矩阵的转置_第2页
数据结构实验之稀疏矩阵的转置_第3页
数据结构实验之稀疏矩阵的转置_第4页
数据结构实验之稀疏矩阵的转置_第5页
资源描述:

《数据结构实验之稀疏矩阵的转置》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验六:稀疏矩阵的转置[实验题目]改编教材中一维数组类,增加成员函数ArraylD&operator+(ArraylD&c2);,可以做求和运算,并在主程序里输入完两个长度相同的一维数组Z后,调用这个成员函数求和。完善教材中稀疏矩阵,调试转置运算,并编写出两个重定义的流操作运算,并口行编写主程序验证输出两个三元组,稀疏矩阵转置是否成功。[概要分析]对一个稀疏矩阵,写成行三元组形式,对行三元组扫描一次即可定位,而关键是找到每列(0,1,nJ)首个非0元素的位置,在新的三元组转置,记在k数组小。分别建立

2、SeqTriple.cpp>SeqTriple.hxTsteSeqTripleMain.cppo[详细设计]1.类的结构classClassModelT:classT:class«struct»Term+col:int+row:int+value:TSeqTriple-m:int・maxSize:int・n:int・t:inttrip:Term*1305012035马璐尿电子二班+SeqTriple(int)+~SeqTriple()+Transpose(SeqTriple&):void+Trans

3、pose2(SeqTriple&):void«friend»+operator«(ostream&,SeqTriple&):ostream&+operator»(istream&、SeqTriple&):istream&2.核心代码(1)转置思路:快速转置算法使用n个指针k[i](0<=i

4、+num[i-l];具体代码:templatevoidSeqTriple::Transpose(SeqTriplevT>&B)const〃将this转證赋给B〃为num和k分配空间int*num=newint[n];int*k=newint[n];B.m二n;B.n二m;B.t=t;讦(t>0)for(inti=0;ivn;i++)num[i]=0;for(i=0;i

5、l]+num[i-l];for(i=0;i

6、対象)规格重新申请空间,最后循环拷贝每个元素。[程序代码]1.Main.cppinclude“SeqTriple.h”#includeintmain(){SeqTripleseql(10),seq2(10);cin>>seql;seql.Transpose(seq2);cout«seq2«endl;return0;}2.SeqTriple.cpp#include"SeqTriple.h"3.SeqTriple.h#includetemplate

7、sT>structTermintrow;intcol;Tvalue;};templateclassSeqTriple{public:SeqTriple(intmSize){maxSize=mSize;trip=newTerm[maxSize];t=0;}~SeqTriple(){delete[]trip;}voidTranspose(SeqTriple&B){〃转置后的位置,第0列到第0行,第1列到第1行B.m=n;B.n=m;B.t=t;intk=0;for(inti=0;ivn;

8、i++){for(intj=O;j&B)int*num=newi

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

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

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