Vuelo seleciona(ListaVuelos lv) { Vuelo v = lv[0]; lv.Remove(v); return(v); }
public Prim(Grafo g, ListaVuelos lv, char opc, Nodo ini) { InicializaCandidatos(lv, opc, ini); //while (Ciudades.Count < g.getListaNodos().Count-1) do { arm.Add(Selecciona(opc, Ciudades)); if (arm[arm.Count - 1] == null) { arm.Remove(arm[arm.Count - 1]); Ciudades.Add(new Nodo(vuelos[0].getOrigen())); } } while (vuelos.Count > 0); gp = new Grafo(arm); }
Vuelo Selecciona(char opc, List <Nodo> nodos) { ListaVuelos candidatos = new ListaVuelos(); Vuelo aux; bool stop = true; candidatos.Clear(); foreach (Nodo n in nodos) { foreach (Vuelo v in vuelos) { if (v.getOrigen() == n.getCiudad() || v.getDestino() == n.getCiudad()) { candidatos.Add(v); } } } if (candidatos.Count > 0) { if (opc == 'c') { candidatos.quickSort(0, candidatos.Count - 1, 3); } else { candidatos.quickSort(0, candidatos.Count - 1, 4); } aux = candidatos[0]; this.vuelos.Remove(candidatos[0]); if (!Ciudades.Contains(new Nodo(aux.getOrigen()))) { Ciudades.Add(new Nodo(aux.getOrigen())); } if (!Ciudades.Contains(new Nodo(aux.getDestino()))) { Ciudades.Add(new Nodo(aux.getDestino())); } do { stop = true; foreach (Nodo n2 in Ciudades) { foreach (Nodo n in Ciudades) { foreach (Vuelo v in this.vuelos) { if (v.getOrigen() == n2.getCiudad() && v.getDestino() == n.getCiudad()) { vuelos.Remove(v); stop = false; break; } } } } } while (!stop); //Console.Write(aux.getOrigen().ToString() + aux.getDestino().ToString() + "-> "); tt = tt + aux.getTiempo(); ct = ct + aux.getCosto(); return(aux); } return(null); }
private void buttonEliminar_Click(object sender, EventArgs e) { lv.Remove((Vuelo)lisBoxVuelos.SelectedItem); g.eliminarArista((Vuelo)lisBoxVuelos.SelectedItem, lv); lisBoxVuelos.Items.Remove(lisBoxVuelos.SelectedItem); }
private void buttonEliminar_Click(object sender, EventArgs e) { string elim; elim = textBoxEliminar.Text; elim = elim.ToUpper(); bool parar; listBoxorden.Items.Clear(); listBoxRuta.Items.Clear(); if (elim != "") { do { parar = true; foreach (Vuelo v in lv) { if (v.getOrigen() == elim[0] || v.getDestino() == elim[0]) { lv.Remove(v); g.eliminarArista(v, lv); parar = false; break; } } } while (!parar); /* * do * { * parar = true; * foreach (Nodo n in g.getListaNodos()) * { * if (n.getListaAdy().Count > 0) * { * g.getListaNodos().Remove(n); * parar = false; * break; * } * } * } while (!parar); * */ /* * do * { * parar = true; * foreach (Nodo n in g.getListaNodos()) * { * if (n.getCiudad() == elim[0]) * { * * foreach (Vuelo v2 in lv) * { * if (v2.getOrigen() == n.getCiudad() || v2.getDestino() == n.getCiudad()) * { * g.eliminarArista(v2, lv); * } * } * g.getListaNodos().Remove(n); * parar = false; * break; * } * } * } while (!parar); * * */ panel1.Refresh(); } }