public static Nodo siguienteEnCircuito(Nodo actual, List <Arista> recorridas) { Nodo siguiente; siguiente = null; foreach (Arista arista in actual.Aristas) { if (!MetodosAuxiliares.aristaEnLista(arista, recorridas)) { siguiente = arista.Arriba; } } return(siguiente); }
public static Nodo siguienteEnCaminoDir(Nodo actual, List <Arista> recorridas) { Nodo siguiente; int gradoMayor; gradoMayor = -1; siguiente = null; foreach (Arista arista in actual.Aristas) { if (!MetodosAuxiliares.aristaEnLista(arista, recorridas)) { if (arista.Arriba.GradoSalida >= gradoMayor) { siguiente = arista.Arriba; gradoMayor = arista.Arriba.GradoSalida; } } } return(siguiente); }