#define MaxSize 100
//邻接矩阵存储结构
typedef struct MGraph{
char vex[MaxSize];
int Edge [MaxSize][MaxSize];
int vexname,arcname;
}MGraph;
邻接链表图的定义
边表结点
typedef struct ArcNode{
int adjVex;
struct ArcNode *nextArc;
}ArcNode;
顶点表
typedef struct VNode{
int data;
ArcNode* firstNext;
}VNode,List[MaxSize];
图
typedef struct AGraph{
VNode AdList[MaxSize];
int vexname,arcname;
}AGraph;
void Func(MGraph G1,AGraph *G2){
G1.vexname = G2->arcname;
G1.arcname = G2->arcname;
//初始化邻接矩阵
for (int i = 0; i < G1.vexname; i++)
for (int j = 0; j < G1.vexname; j++)
G1.Edge[i][j] = 0;
ArcNode *p;
for (int i = 0; i < G2->vexname;i++) {
G1.vex[i] = G2->AdList[i].data;
p = G2->AdList[i].firstNext;
while (p!=NULL){
G1.Edge[i][G2->AdList[i].data] = 1;
p = p->nextArc;
}
}
}
邻接矩阵和邻接链表【将后者数据放入邻接矩阵中】C语言实现
最新推荐文章于 2024-10-07 17:33:30 发布