代码中的print既不是广度优先遍历也不是深度优先遍历,只是为了看出来这个邻接表没创建错,复合要求。
#include<stdio.h>
#include<stdlib.h>
#define MAXV 100
typedef struct ANode{
int adjvex;//该边的邻接点编号
struct ANode* nextarc;//指向下一条边的指针
}ArcNode;//边节点的类型
typedef struct Vnode
{
char info;//顶点的其它信息
ArcNode* firstarc;//指向第一个边结点
}VNode;//邻接表的头节点类型
typedef struct {
VNode adlist[MAXV];//邻接表的头节点数组
int n, e;//图中的顶点数n和边数e
}AdjGraph;//完整的图邻接表类型
void Create(AdjGraph* G)
{
int j, k;ArcNode* s;
scanf("%d %d", &G->n