c语言稀疏矩阵的加法问题

2024-11-22 08:42:24
推荐回答(1个)
回答1:

#include
#include

#define MAX 100

struct matnode //十字链表结点的定义
{
int row,col;
struct matnode *right,*down;
union {
int val;//表结点使用V域
struct matnode *next;//表头结点使用next域
}tag;
};
struct matnode *createmat(struct matnode *hmone[MAX])
{
int m,n,t,s,i,r,c,v;
// struct matnode *l,*p,*q;
struct matnode *h[100],*l,*p,*q; //h[]是十字链表每行的表头指针数组
printf("行数m,列数n,非零元素个数t:");
//scanf("%d,%d,%d",&m,&n,&t); //输入行、列数,非零元素个数
scanf("%d,%d,%d",&m,&n,&t);//输入行、列数,非零元素个数
l=(struct matnode *)malloc(sizeof(struct matnode));
h[0]=l;//h[]是指针数组,分别指向头节点和行、列表头结点
l->row=m; //建立十字链表头结点*l