#include<iostream>
#include<queue>
using namespace std;
#define MAX_VEX_NUM 20//最大顶点数
queue<int>q;
struct MGraph
{
char vexs[MAX_VEX_NUM];//顶点向量// AdjMatrix
int arcs[MAX_VEX_NUM][MAX_VEX_NUM];//邻接矩阵
int vexnum,arcnum;
};
MGraph G; //申明一个无向图的邻接矩阵类型
int visited[MAX_VEX_NUM];//设置标志数组
int Locatevex(MGraph G,char v)//图的基本操作,寻找V的位置
{
int i=0;
while(i<G.vexnum && v!=G.vexs[i])
i++;
if(i<G.vexnum)
return i;//查找成功则返回顶点的下标
else
return -1;
}
int CreateUDG(MGraph &G) //数组邻接矩阵表示法构造无向图
{
char v1,v2;
cout<<"请输入图的顶点数和弧数"<<endl;
cin>>G.vexnum>>G.arcnum;
cout<<"请输入顶点值"<<endl;
for(int i=0;i<G.vexnum;i++)//构造顶点向量
cin>>G.vexs[i];
for(int q=0;q<G.vexnum;q++)//初始化邻接矩阵
for(int p=0;p<G.vexnum;p++)
G.arcs[q][p]=0;
for(int k=0;k<G.arcnum;k++)//构造邻接矩阵
{
cout<<"输入该