数据结构-图-C语言-邻接矩阵-图的遍历
bool visited[999];
void visit(Vertex V) {
printf("正在访问顶点%d\n", V);
}
bool isEdge(MGraph graph, Vertex v, Vertex w) {
return graph->G[v][w] > 0;
}
void BFS(Vertex start, MGraph graph, void(*visit)(Vertex v)) {
Queue q;
Vertex v, w;
q = createQueue(999);
visit(start);
visited[start]=true;
addQueue(q,s);
while(!isEmpty(q)){
v=deleteQueue(q);
for(w=0;w<graph->nv;w++){
if(!visited[w]&&isEdge(graph,v,w)){
visit(w);
visited[w]=true;
addQueue(q,w);
}
}
}
}