void tsMatr ix Add( TSMatr iⅹA, TSMatr iⅹB, TSMatr iⅹ&C)//三元组 表示的稀疏矩阵加法 C. mu=A. mu C nu=A. nu C.tu=0 pa=1: pb=1; pc=1 for(x=1;xB data lpb]. j)
void TSMatrix_Add(TSMatrix A,TSMatrix B,TSMatrix &C)//三元组 表示的稀疏矩阵加法 { C.mu=A.mu;C.nu=A.nu;C.tu=0; pa=1;pb=1;pc=1; for(x=1;xB.data[pb].j) {
C data lpc].iEx C data lpc]. j=B data lpb C data lpc] e=B data lpb.e pb++;pc++; e Ise C data lpc].i=x C data lpc].j=A data lpa]. j C data lpc] e=A data lpa.e pa++;pc++; 1//while hie(A.data[pa]==x)//插入A中剩余的元素(第x行) C data lpc.i=X C data lpc]. j=A. data [pa]. j C data lpc]e=A data lpa]e pa++: pc++ Wh|e(B.data[pb]==x)/插入B中剩余的元素(第x行 C data lpc].i=x Cdata lpc]. j=B data lpb]. j C data lpc] e=B data lpb]
C.data[pc].i=x; C.data[pc].j=B.data[pb].j; C.data[pc].e=B.data[pb].e; pb++;pc++; } else { C.data[pc].i=x; C.data[pc].j=A.data[pa].j; C.data[pc].e=A.data[pa].e pa++;pc++; } }//while while(A.data[pa]==x) //插入 A 中剩余的元素(第 x 行) { C.data[pc].i=x; C.data[pc].j=A.data[pa].j; C.data[pc].e=A.data[pa].e pa++;pc++; } while(B.data[pb]==x) //插入 B 中剩余的元素(第 x 行) { C.data[pc].i=x; C.data[pc].j=B.data[pb].j; C.data[pc].e=B.data[pb].e;
pb++; pc++ 1//for C. tu=pc
pb++;pc++; } }//for C.tu=pc; }