/*
博主最近事情比较多,有空在补上BFS的遍历
*/
//定义带权值的邻接矩阵
#define MaxVertex 100
typedef char vertexType;//顶点数据类型
typedef int edgeType;//边上权值的类型
typedef struct{
vertexType ver[MaxVertex];
edgeType edge[MaxVertex][Maxvertex];
int vernum,arcnum;
}MGraph;
//定义不带权值的邻接矩阵
#define MaxVertex 100
typedef struct{
int ver[MaxVertex][MaxVertex];
int arcnum,vernum;
};
//定义邻接表
typedef struct arcNode{
int adjver;
struct arcNode *next; //边表结点的定义
}arcNode;
typedef struct verNode{
vertexType data;
arcnode*first; //头节点的定义
}verNode;
typedef struct {
verNode adjList[MaxVertext];
int arcnum,vernum;
}ALGraph;
bool visited[MaxVertext];
void prepareDFS(MGraph MG){
for(int i=0;i<MG.vernum;i++){
visited[i]=0;
}
for(int i=0;i<MG.vernum;i++){
if(visit[i]==0){
DFS(MG,i);
}
}
return ;
}
DFS(MGraph MG,int v){
visit(v);
visited[v]=1;
for(int j=firstNeighbor(MG,v);j>0;j=nextNeighbor(G,v,j)){
if(visited[j]==0){
DFS(MG,j);
}
}
}