三元组表定义
struct Triple {
int row; //非零元素行下标
int col; //非零元素列下标
int e; //非零元素的值
};
struct TSMatrix {
Triple data[1000]; //三元组表
int m; //矩阵的行数
int n; //矩阵的列数
int len; //矩阵的非零元素个数
};
稀疏矩阵转三元组表
void matrixToTriple(TSMatrix &matrix)
{
matrix.len=0;
for (int i = 1; i <= matrix.m; i++)
{
for (int j = 1; j <= matrix.n; j++)
{
cin >> dataa[i][j];
if (dataa[i][j] != 0)
{
matrix.len++;
matrix.data[matrix.len].row = i;
matrix.data[matrix.len].col = j;
matrix.data[matrix.len].e = dataa[i][j];
}
}
}
}