public List <Arista> ejecutarDFS() { bool flag = true; Vertice aux; aux = pila.Peek(); while (pila.Count != 0) { for (int i = 0; i < aux.getLista().Count; i++) { if (validos.Exists(x => x.getID() == aux.getLista()[i].getID())) { if (!visitados.Exists(x => x.getID() == aux.getLista()[i].getDestino().getID())) { pila.Push(aux); visitados.Add(aux); camino.Add(aux.getLista()[i]); aux = aux.getLista()[i].getDestino(); flag = false; break; } } } if (flag) { visitados.Add(aux); Vertice aux2 = pila.Pop(); if (aux.getID() != aux2.getID()) { camino.Add(encontrarArista(aux, aux2)); } aux = aux2; } else { flag = true; } } return(camino); }
void Button2Click(object sender, EventArgs e) { Point centro; int radio = 0; int contador = 1; for (int i = 0; i < back.Width; i++) { for (int j = 0; j < back.Height; j++) { if (back.GetPixel(i, j) == Color.FromArgb(0, 0, 0)) { centro = obtenerCentro(i, j); radio = obtenerRadio(centro); dibujarCirculo(i, j, radio); if (radio != -1) { Vertice verticeAux = new Vertice(contador, centro, radio); grafo.agregarVertice(verticeAux); contador++; } } } } generarAristas(); dibujarEtiqueta(); generarTreeView(); for (int i = 0; i < grafo.getVertices().Count; i++) { comboBox1.Items.Add(grafo.getVertices()[i].getID().ToString()); } /*Profundidad krs = new Profundidad(grafo.getVertices()[7], -1); * krs.ejecutarDFS();*/ /*for(int i = 0; i<krs.getCC().Count;i++) * MessageBox.Show("Cmp: "+krs.getCC()[i]); */ pictureBox1.Refresh(); }
public void agregarVertice(Vertice v) { this.vL.Add(v); }
public void setVerticeActual(Vertice a) { vActual = a; }