数据压缩是提高传输、存储效率一种技术。教材第5章介绍了两种简单的压缩存储方法。
本实验要求实现两个稀疏矩阵相乘积的算法。其中稀疏矩阵非零元素数量小于100.
输入:
第1个:
稀疏矩阵的行数
列数
非零元个数(三个数都大于0)
三元组
第2个:
稀疏矩阵的行数
列数
非零元个数(三个数都大于0)
三元组
以行为主序输入稀疏矩阵三元组表
输出:
乘积矩阵的行数
列数
非零元个数(三个数都大于0)
三元组
测试用例:
输入:
3
4
4
1 1 3
1 4 5
2 2 -1
3 1 2
4
2
4
1 2 2
2 1 1
3 1 -2
输出:
3
2
3
1,2,6
2,1,-1
3,2,4
代码
#include<iostream>
#include<cstring>
using namespace std;
struct Matrix
{
int Rows, Cols, Nums;
struct
{
int row, col, vol;
}lists[100];
};
void MatrixMul(Matrix&A_Matrix, Matrix&B_Matrix, Matrix&C_Matrix)
{
C_Matrix.Cols = B_Matrix.Cols; C_Matrix.Rows = A_Matrix.Rows;
int nnt = 1, NewRow =