这里讲的矩阵三元组表有创建矩阵三元组表,求三元组表的转置矩阵,三元组表矩阵相乘,输出三元组表矩阵。
#include <stdio.h>
#include<stdlib.h>
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define MAXSIZE 100
typedef int Status;
typedef float ElemType;
typedef struct{//三元组结构
int i,j;//非零元素行下标和列下标
ElemType e;//非零元素值
}Triple;
typedef struct{
Triple data[MAXSIZE+1];//非零元三元组表,data[0]不用
int mu,nu,tu;//矩阵的行数、列数和非零元素个数
}TSMatrix;
TSMatrix NewMatrix(int m,int n);
//新建一个三元组表示的稀疏矩阵
Status InsertElem(TSMatrix *M,int row,int col,ElemType e);
//在三元组表示的稀疏矩阵M,第 row 行,第 col 列位置插入元素e
//插入成功,返回OK,否则返回ERROR
Status FindElem(const TSMatrix *M,int row,int col,ElemType *e);
//查找三元组表示的稀疏矩阵M中,第 row 行,第 col列元素,若不为0,
//则用e返回其值,并返回TRUE,否则返回FALSE
Status TransposeSMatrix(co