//【数据结构】NOJ013 以十字链表为存储结构实现矩阵相加
#include <stdio.h>
#include <stdlib.h>
//十字链表
typedef int ElemType; //元素类型
typedef struct LNode{
int Row,Col; //行数、列数
ElemType Elem; //元素
struct LNode *Right,*Down; //右侧、下侧
}LNode,*PLNode;
typedef struct CrossList{
int mu,nu,tu; //总行数、总列数、总个数
PLNode *rHead,*cHead; //存放指向首结点的指针的数组
}*CList;
CList Init(int m,int n,int t); //初始化并插入初始元素
void Add(CList L1,CList L2); //矩阵相加存入L1
int Insert(CList L, PLNode N); //插入一个元素
void Delete(CList L,PLNode p); //删除一个元素
void Output(CList L); //按行输出
CList Init(int m,int n,int t)
{//初始化,插入初始元素
//初始化
CList L=(CList)malloc(sizeof(struct CrossList));
L->mu=m; L->nu=n; L->tu=t;
L->rHead=(PLNode*)malloc((m+1)*sizeof(LNode));
L->cHead=(PLNode*)malloc((n+1)*sizeof(LNode));
int i;
for(i=0;i<m;i++) L->rHead[i+1]=NULL;
【数据结构】NOJ013 以十字链表为存储结构实现矩阵相加(1.0)
最新推荐文章于 2022-04-15 21:14:34 发布