#include<iostream>
using namespace std;
//利用邻接矩阵储存无向图
#define MAX 100
typedef struct
{
char vexs[MAX];
int edges[MAX][MAX];
int n, e;
bool visited[MAX];
}MatrixGraph;
//输入并储存
MatrixGraph* Creat(MatrixGraph* g)
{
int i, j, k;
cout << "请输入顶点数和边数" << endl;
cin >> g->n >> g->e;
cout << "请输入顶点信息" << endl;
if (g->n>MAX) return NULL;
for (i = 0; i<g->n; i++) cin >> g->vexs[i];
//初始化矩阵
for (i = 0; i<g->n; i++)
{
for (j = 0; j<g->n; j++)
{
g->edges[i][j] = 0;
g->edges[j][i] = 0;
}
}
cout << "请输入每条边对应的两个顶点的序号(输入格式为:i j)" << endl;
for (k = 0; k<g->e; k++)
{
cin >> i >> j;
g->edges[i - 1][j - 1] = 1;
g->edges[j - 1][i - 1] = 1;
}
return g;
}
//输出矩阵
void Outputmatrix(MatrixGraph* g)
{
int i, j;
for (i = 0; i<g->n; i++)
{
for (j = 0; j<g->n; j++)
{
cout << g->edges[i][j] << " ";
}
cout << endl;
}
}
//初始化遍历状态
void inittravel(MatrixGraph*g)
{
int i;
for (i = 0; i < g->n; i++)