数据结构-图-C语言-邻接矩阵-图的遍历

数据结构-图-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);
			}
		}
	}
}

你可能感兴趣的:(数据结构,图,C语言)