稀疏矩阵计算器(三元组实现矩阵加减乘法)
一、问题描述: 稀疏矩阵是指那些多数元素为零的矩阵。利用“稀疏”特点进行存储(只存储非零元)和计算可以大大节省存储空间,提高计算效率。实现一个能进行稀疏矩阵基本运算的运算器。 二、需求分析: 以“带行逻辑链接信息”的三元组顺序表表示稀疏矩阵,实现两个矩阵相加、相减和相乘的运算。稀疏矩阵的输入形式采用三元组表示,而运算结果的矩阵则以通常的阵列形式列出。稀疏矩阵的输出要求:矩阵的行数、列数、非零元个数,以及详细的矩阵阵列形式。 三、代码实现 #include <stdio.h> #include <iostream> #define ERROR -1 #define MAXSIZE 12500 //非零元个数最大值MAXSIZE #define MAXRC 21 //各行第一个非零元位置最大值MAXRC #define OK 1 typedef int ElemType; typedef struct //同课本P98 { int i,j; ElemType e; } Triple; typedef struct //同课本P100 { Triple data[MAXSIZE+1]; //非零元三元组表 int rpos[MAXRC+1]; //各行第一个非零元的位置表 int mu,nu,tu; //矩阵的行数、列数和非零元个数 } RLSMatrix; void