void main(){ #define R 4//定义行数 #define C 5//定义列数 #define A 7//定义值 crossList *M = (crossList*)malloc(sizeof(crossList)); crossList *T = (crossList*)malloc(sizeof(crossList));//存储M的转置矩阵 crossList *Q = (crossList*)malloc(sizeof(crossList));//存储M*T int i,j,k; int arr[A][2] = { {1,2}, {1,5}, {2,2}, {3,1}, {3,4}, {4,1}, {4,5} }; elemType val[A] = {3,-5,-1,6,8,-4,7}; //初始化矩阵 initSMatrix(M,R,C,A); //矩阵的赋值 for(i=0;i<A;i++){ assignSMatrix(M, arr[A-i-1][0], arr[A-i-1][1], val[A-i-1]); } printf("Print the Sparse Matrix M:"); printSMatrix(M); //矩阵的复制 copySMatrix(M,T); printf("\nPrint the Sparse Matrix T:"); printSMatrix(T); //求矩阵的转置矩阵 transposeSMatrix(M,T); printf("\nPrint the transpose Matrix T:"); printSMatrix(T); //求矩阵的乘积 multSMatrix(M,T,Q); printf("\nPrint the transpose Matrix M * T:"); printSMatrix(Q); }
//Ï¡Êè¾ØÕó²âÊÔ void testRLSMatrix() { RLSMatrix<int> A,B,C,D,E,F; createSMatrix(A); printSMatrix1(A); createSMatrix(B,2); printSMatrix1(B); addSMatrix(A,B,C); printSMatrix1(C); destroySMatrix(C); multSMatrix(A,B,C); printSMatrix1(C); transposeSMatrix(C,D); printSMatrix1(D); createSMatrix(E,3); printSMatrix1(E); }