Exemplo n.º 1
0
void dfsrecurse(t_graph *g, int k){
	if((k>=0)&&(g!=NULL)&&(k<=g->maxv)){
		int i;
		//printf("%d: %s\n",k,g->vertices[k].name);
		for(i=0;i<g->maxv;i++)
			if((g->am[k][i]!=0)&&((g->vertices[i]).visited == FALSE)){
				printf("%s\n",g->vertices[i].name);
				g->vertices[i].visited = TRUE;
				dfsrecurse(g,i);
			}
	}
}
Exemplo n.º 2
0
void dfs(t_graph* g)
{
  int i;
  if(g!=NULL)
    {
      for(i=0;i<g->v;i++)
	  g->vertices[i].visited=FALSE;
      for(i=0;i<g->v;i++)
	if(!(g->vertices[i].visited))
	   dfsrecurse(g,i);
      printf("\n");
    }
}