for(int i = 0; i < NUM_VERTICES; i++) visitados[i] = false; pilha s; s.push(1); while(!s.empty()){ int v = s.top(); s.pop(); if(visitados[v - 1] == false){ visitados[v - 1] = true; printf("Visitando o vertice %d\n", v); for(int i = NUM_VERTICES; i >= 1; i--) if(g[v - 1][i - 1] == 1) s.push(i); } }