public void eliminaNodo(Grafo grafo, NodoP p) { NodoP nodoP; List <Arista> l = new List <Arista>(); nodoP = p; if (nodoP != null) { //nodoP.aristas.Clear(); foreach (NodoP n in grafo) { foreach (Arista nr in n.aristas) { if (nr.destino.nombre == nodoP.nombre) { n.aristas.Remove(nr); break; } } foreach (Arista nr in n.aristas) { if (nr.origen.nombre == nodoP.nombre) { n.aristas.Remove(nr); break; } } } grafo.Remove(nodoP); grafo.RemoveAt(nodoP.nombre - 1); } }