/***********************typedef.h***************/
/*********************triplet.h*********************/
typedef int *Triplet;
typedef struct Triple{
typedef struct RLSMatrix{
Status InitTriplet();
void PrintTriplet(); /*Not In general use,Only for Multiplication.C */
/*Not In general use,Only for TSMatrix.C */
Status InitTriplet(Triplet *T, ElemType v1,ElemType v2,ElemType v3){
Status DestroyTriplet(Triplet T){
Status Get (Triplet T,int i,ElemType *e){
Status Put (Triplet T,int i,ElemType *e){
Status IsAscending(Triplet T){
Status IsDescending(Triplet T){
Status Max(Triplet T,ElemType *e){
Status Min(Triplet T,ElemType *e){
void PrintTriplet(RLSMatrix M)
Status MultSMatrix(RLSMatrix M,RLSMatrix N,RLSMatrix *Q)
if(M.nu!=N.mu)
Q->mu=M.mu;Q->nu=N.nu;Q->tu=0;
if(M.tu*N.tu!=0){
Q->rpos[arow]=Q->tu+1;
if(arow<M.mu)
for(p=M.rpos[arow];p<tp;p++)
}
for(ccol=1;ccol<=Q->nu;++ccol)
Status ScanMatrix(RLSMatrix *M)
printf("/n/nplease input the data size('mu' is sign if Matrix's row;'nu' is the sign of Matrix's col, and 'e' or 'tu' is the length of Matrix):/nmu= nu= tu=/n");
if(M->tu>(M->mu*M->nu))
scanf("%d %d %d",&M->data[i].i,&M->data[i].j,&M->data[i].e);
for(i=1;i<=M->mu;i++)
for(i=1;i<=M->tu;++i)
M->rpos[1]=1;
for(i=2;i<=M->mu;++i)
|
矩阵的一些操作
最新推荐文章于 2020-11-29 04:56:17 发布