#include <cstdio>
#include <cstdlib>
#include <queue>
using namespace std;
#define MaxNum 10 //最大顶点数
typedef struct MGraph
{
char Vertex[MaxNum]; // 储存图的顶点
int Edge[MaxNum][MaxNum]; //顶点的关系矩阵 1表示相连接,0表示无连接
int n,e;
} MGraph;
int visited[MaxNum];
//定位顶点Vex的下标位置
int Locate_vex(MGraph* G,char vex)
{
for(int i=0;i<G->n;++i)
if(G->Vertex[i]==vex)
return i;
}
//创建图
void CreateGraph(MGraph * G)
{
int vex1,vex2;
int i,j,k;
printf("\n请输入有向图的顶点名称:");
for(i=0;i<G->n;++i)
scanf("\n%c",&G->Vertex[i]);
// 初始化关系矩阵为 0
for(i=0;i<G->n;++i)
for(j=0;j<G->n;++j)
G->Edge[i][j]=0;
printf("\n请输入有向图中每条弧的弧尾顶点和弧头顶点名称:\n");
//建立关系矩阵 如果有弧连接则设为 1
for(k=1;k<=G->e;++k)
{
printf("\n请输入第 %d 条弧的弧尾顶点名称:",k);
scanf("\n%c",&vex1);
printf(&#