电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

三元组实现稀疏矩阵的加法

三元组实现稀疏矩阵的加法_第1页
1/13
三元组实现稀疏矩阵的加法_第2页
2/13
三元组实现稀疏矩阵的加法_第3页
3/13
数据结构课程设计报告 软件 3 班 2 0 1 0 0 5 0 7 0 3 0 1 魏希 2 0 1 1 /1 0 /1 2 实验一 三元组 一、实验题目 以3 元组为储存结构,实现稀疏矩阵的求和运算。 二、问题描述 1、 功能要求:根据用户输入的矩阵,实现稀疏矩阵的求和运算,并输出结果。 2、 输入要求:矩阵的数据在程序运行的时候由用户提供,先由用户输入稀疏矩阵的行 数、列数和非零元个数。再根据非零元个数,输入这些非零元,还需要用户为这些非零元输入行、列和非零元的值。这样,一个稀疏矩阵就输入完成。 若输入 3 3 2 则表示这个稀疏矩阵有3 行3 列2 个非零元 然后用户需要为这两个非零元输入行、列、非零元的值 如: 1 1 2 2 2 1 表示第一个非零元行为1,列为1,,值为2;第二个非零元行为2,列为2,值为1。 此过程输入的稀疏矩阵为: 2 0 0 0 1 0 0 0 0 3、 输出要求:输出按矩阵输出,按行列依次输出,非零元则输出非零元的值,不是非 零元则输出“0”。各元素之间用空格隔开。最后输出完整的矩阵。 三、概要设计 1 .稀疏矩阵三元数组定义如下: ADT SparseMatrix { 数据对象: D={aij|i=1,2,3……m,j=1,2,3……n; aij 属于 ElemSet,m 和n 分别是稀疏矩阵的行数和列数} 数据关系: R={ Row, Col } Row={|1<=i<=m,1<=j<=n-1} Col={|1<=i<=m-1,1<=j<=n} 基本操作: CreateSMatrix(&M); //建立稀疏矩阵M DestroySMatrix(&M); //销毁稀疏矩阵M; TransposeSMatrix(M); //求稀疏矩阵的转置矩阵 AddSMatrix(&M,&N); //求稀疏矩阵M 和N 之和 MulSMatrix(&M,&N); //求稀疏矩阵M 和N 之积 }ADT SparseMatrix 2 、存储结构的选择 若以顺序存储结构来表示由非零元来表示由非零元三元组构成的表,则得到的稀疏矩阵的一种压缩存储方式——三元组表。设置一个节点类,表示非零元,在将这些非零元的指针存放在稀疏矩阵的一个数组中。 3 、其他函数 1)主函数 main()。 2)作为友元函数重载的加法运算。 四、详细设计 用三元组表示稀疏矩阵,需要定义节点 Triple 类和三元组表TripleList 类 1 、结点类 templateclass Triple { friend class TripleList; private: int Row,Col; //非零元的行、列 Type Value; //非零元的值 friend istream&operator >>(istream&in,TripleList&); friend ostream...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

三元组实现稀疏矩阵的加法

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部