#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include “ALGraph.h”
int visited[MAXVEX]; /设访问标志数组为全局变量/
void CreateUDG_ALG(ALGraph g) /构造无向图的邻接表/
{
// 请在这里补充代码,完成本关任务
/********* Begin *********/
int i,j,k;ENode *p;
//printf("请输入图的类型(0-3表示DG,DN,UDG,UDN)、顶点数、边数:\n");
scanf("%d%d%d",&g->kind,&g->vexnum,&g->edgenum);
for(i=0;i<g->vexnum;i++) /*构造头结点数组*/
{
g->vertices[i].vex=i;
g->vertices[i].firstarc=NULL; /*初始化头结点指针域为空*/
}
//printf("请按顶点编号从小到大的顺序输入各条边的两顶点:\n");
for(k=0;k<g->edgenum;k++) /*构造邻接表*/
{
scanf("%d%d",&i,&j); /*输入一条边所依附的两个顶点的编号*/
/*将顶点Vj插入到第i个单链表的表头,也就是用“头插法”建立一个单链表*/
p=(ENode *)malloc(sizeof(ENode)); /*生成表结点*/
p->adjvex=j; p->weight=0;
p->nextarc=g->vertices[i].firstarc; /*