正在加载图片...
C->datalpc]j=B->data[pb]. C->datalpc] v=B->datalpb]v C-→>tu++;,pc++;pb++; while( pa<=A->tu) C->data[pc]. i=A->datalpa] i C->datalpc]j=A->datalpa]. C->datalpc] v=A->datalpa]V pc++;pa++; while( pb<=B->tu C->datalpc] 1= B->data[pb].i C->datalpc]j=B->datalpb]. C->datalpc] v=B->datalpb] V pc++; pb++; return(c) 1假设稀疏矩阵只存放其非0元素的行号、列号和数值,以一维数组顺次存放,行号为-1结束标志。 例 如:如图所示的稀疏矩阵M: 0 0 0 0 0 0 0 0 则存在一维数组D中 [0]=1,D[1]=1,D[2]=1,D[3]=1,D[4]=5 D[5]=10,D[6]=3,D[7]=9,D[8]=5,D[9]=-1 现有两个如上方法存储的稀疏矩阵A和B,它们均为m行n列,分别存放在数组A和B中,编写求矩 阵加法C=A+B的算法,C亦放在数组c中。 void add(int a[l, int bl, int CLD) pa=0;pb=0;,pc=0 while(alpat2]&& blpb+2D)C->data[pc].j = B->data[pb].j; C->data[pc].v = B->data[pb].v; c->tu++; pc++; pb++; } } while ( pa<=A->tu) { C->data[pc].i = A->data[pa].i; C->data[pc].j = A->data[pa].j; C->data[pc].v = A->data[pa].v; pc++; pa++; } while ( pb<=B->tu ) { C->data[pc].i = B->data[pb].i; C->data[pc].j = B->data[pb].j; C->data[pc].v = B->data[pb].v; pc++; pb++; } return(c); } ⒒假设稀疏矩阵只存放其非 0 元素的行号、列号和数值,以一维数组顺次存放,行号为-1 结束标志。 例 如:如图所示的稀疏矩阵 M: M = 则存在一维数组 D 中: D[0]=1, D[1]=1,D[2]=1,D[3]=1,D[4]=5 D[5]=10,D[6]=3,D[7]=9,D[8]=5,D[9]=-1 现有两个如上方法存储的稀疏矩阵 A 和 B,它们均为 m 行 n 列,分别存放在数组 A 和 B 中,编写求矩 阵加法 C=A+B 的算法,C 亦放在数组 C 中。 void add (int A[ ], int B[ ], int C[ ]) { pa=0; pb=0; pc=0; while (A[pa+2] && B[pb+2]) 1 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有