#include<iostream>
#define MaxInt 32767
#define MVNum 100
using namespace std;
typedef char VerTexType;//假设顶点的数据类型为字符型
typedef int ArcType;//假设便的权值类型为整型
typedef struct
{
VerTexType vexs[MVNum];//顶点表
ArcType arcs[MVNum][MVNum];//邻接矩阵
int vexnum,arcnum;//图的当前点数和边数
}AMGraph;
int LocateVex(AMGraph G,VerTexType v)//确定顶点在G中的位置,返回顶点数组的下标
{
for(int i = 0; i < G.vexnum; i++)
if(v == G.vexs[i])return i;
return -1;
}
void CreateUDN(AMGraph &G)//采用邻接矩阵表示法创建无向网
{
cin >> G.vexnum >> G.arcnum;
for(int i = 0; i < G.vexnum; i++)
cin >> G.vexs[i];
for(int i = 0; i < G.vexnum; i++)
for(int j = 0; j < G.vexnum; j++)
G.arcs[i][j] = MaxInt;
for(int k = 0; k < G.arcnum; k++)
{
VerTexType v1,v2;
ArcType w;
cin >> v1 >> v2 >> w;//输入一条边依附的顶点及权值
int i = LocateVex(G,v1);
int j = LocateVex(G,v2);
G.arcs[i][j] = w;
G.arcs[j][i] = w;
}
}
bool visited[MVNum];
void DFS_AM(AMGraph G,int v)
{
cout << v; visited[v] = true;
for(int w = 0; w < G.vexnum; w++)//依次检查邻接矩阵v所在的行
if((G.arcs[v][w] != 0) && (!visited[w])) DFS_AM(G,w);
}
int main()
{
}