Beispiel #1
0
        public ArrayList buscarTodosLosCaminos(Vertice verO, Vertice VerD, ArrayList caminoActual, ArrayList todosLosCaminos, ArrayList adyacentes)
        {
            adyacentes = listaDeAdyacentes(verO);
            caminoActual.Add(verO);
            verO.marcarVisitado();

            if (verO == VerD)
            {
                todosLosCaminos.Add(caminoActual.Clone());
            }
            else
            {
                foreach (Vertice v in adyacentes)
                {
                    if (v.getVisitado() == false)
                    {
                        buscarTodosLosCaminos(v, VerD, caminoActual, todosLosCaminos, adyacentes);
                        //v.desmarcar();
                        //caminoActual.Remove(v);
                    }
                }
            }
            verO.desmarcar();
            caminoActual.Remove(verO);
            return(todosLosCaminos);
        }