#include<stdio.h>
#define VERTEX_MAX 26
#define MAXVALUE 32767
struct MatrixGraph
{
int Vertex[VERTEX_MAX]; //保存顶点信息(序号或字母)
int Edges[VERTEX_MAX][VERTEX_MAX]; //保存边的权
int isTrav[VERTEX_MAX]; //遍历标志
int VertexNum; //顶点数量
int EdgeNum; //边数量
int GraphType; //图的类型
};
void DFSM(MatrixGraph *G,int i) //从第一个结点开始深度遍历图
{
int j;
G->isTrav[i]=1; //标志该结点已遍历过
printf("%d->",i);
for(j=0;j<G->VertexNum;j++)
{
if(G->Edges[i][j]!=MAXVALUE&&!G->isTrav[i])
DFSM(G,j); //递归进行遍历
}
}
void DFSTraverse(MatrixGra