//邻接矩阵的深度优先搜索-DFS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define VERTEXNUM 100 //最大顶点数
#define MAXSIZE 1024
typedef char*VertexType;//顶点数据的类型
#define OK 1
#define ERROR 0
typedef int ArcType;//边的数据类型 权重的数据类型
typedef struct matrixgraph
{
VertexType vexs[VERTEXNUM];//顶点数int
ArcType arcs[VERTEXNUM][VERTEXNUM];//权重的二维数组
int n,e;//边数和顶点数
}MatricGraph;//邻接矩阵的结构体
typedef struct queue{
int data[MAXSIZE];//数组
int rear,front;//头指针和尾指针
}Seq_Queue;//循环队列的结构体
int visited[VERTEXNUM];//记录状态的数组
int create_matrixgraph(MatricGraph*G);//创建邻接矩阵
void test();//测试函数
int Locate_vex(MatricGraph*G,VertexType vex);//定位函数
Seq_Queue* init_queue();//置空循环队列
int pop_queue(Seq_Queue*Q,int *x);//出队
int push_queue(Seq_Queue*Q,int x);//入队
int empty_queue(Seq_Queue*Q);//判断队列是否为空
//void BFSTraversAL(MatricGraph*G);//广度优先搜索的第一个函数
//void BFSM(MatricGraph*G,int i);//广度优先搜索的第二个函数
void DFSTraverse_matrixgraph(MatricGraph*G);//邻接矩阵的深度优先搜索
void DFSM