稀疏矩阵三元组模板
稀疏矩阵三元顺序组模板 typedef struct { int i,j; int elem; }Triple;//一个点的三元组。 typedef struct { Triple Data[MAXN]; int m,n,len; //m,n记录的是这个矩阵的行与列;但本题没用到整个矩阵的行与列,因为是稀疏矩阵 }TripleMatrix; //一个矩阵的三元组 稀疏矩阵三元顺序组的创建 void CreateTriple(TripleMatrix *p,int n) //因为有->,所以用指针传方便 { int cnt; for(cnt=0;cnt<n;cnt++) //i从0开始,是因为addtriple这个函数while跳出的小于号决定的 { scanf("%d%d%d",&p->Data[cnt].i,&p->Data[cnt].j,&p->Data[cnt].elem); //因为不是链表存储结构,所以不用malloc构建空间 } p->len=cnt; //for里不要再习惯i了 } 稀疏矩阵三元组顺序的相加 void AddTriple(TripleMatrix *a,TripleMatrix *b,TripleMatrix *c) { int k,l; int temp; c->len=0; k=0,l=0; while(k<(a->len)&&l<(b->len)