已知稀疏矩阵采用带行表的三元组表表示,其形式说明如下:
define MaxRow 100 //稀疏矩阵的最大行数
typedef struct
int i,j,v; //行号、列号、元素值
}TriTupleNode;
typedef struct{
TriTupleNode data[MaxSize];
int RowTab[MaxRow+1];//行表
int m,n,t: //矩阵的行数、列数和非零元素个数
}RTriTupleTable;
下列算法f31的功能是:以行优先的顺序输入稀疏矩阵的非零元素(行号、列号、元素值),
建立稀疏矩阵的带行表的三元组表存储结构请在空缺处填合适内容,使其成为一个完
整的算法。(注:矩阵的行、列下标均从1起计)
void f31(RTriTupleTable *R)
{int i,k;
scanf("%d %d %d", & R->m, R->n, &R->t);
R→RowTab[1]=0;
k=1;//k指示当前输人的非零元素的行号
for(i=0:(1)i++)
{scanf("% %d %d", (2) , (3) ,&R->data[i]. v);
while(kdata[i]. i)
{ (4)
R->RowTab[k]=i
}
}
}
(1)
(2)
(3)
(4)