#include <cstdio>
#include <cstdlib>
#define MaxNum 10 //最大顶点数
int visited[MaxNum];
//表结点
typedef struct endoe
{
int adjvex;
endoe *next;
}endoe;
//定点结点
typedef struct vnode
{
char vertex;
endoe * first_edge;
}node;
//图结构
typedef struct ALGraph
{
vnode adj_list[MaxNum];
int n,e;
} ALGraph;
//定位顶点Vex的下标位置
int Locate_vex(ALGraph* G,char vex)
{
for(int i=0;i<G->n;++i)
if(G->adj_list[i].vertex==vex)
return i;
}
//创建图
void CreateGraph(ALGraph * G)
{
endoe* temp=NULL;
int vex1,vex2;
int i,j,k;
int old_i=-2,old_j=-2;
printf("\n请输入有向图的顶点名称:");
for(i=0;i<G->n;++i)
{
scanf("\n%c",&G->adj_list[i].vertex);
G->adj_list[i].first_edge=NULL;
}
printf("\n请输入有向图中每条弧的弧尾顶点和弧头顶点名称:\n");
for(k=1;k<=G->e;++k)
{
printf("\n请输入第 %d 条弧的弧尾顶点名称:",k);
scanf("\n%c",&vex1);