public void OrdenamientoAsiento() { if (lpC.Count() != 0) { ListaPasajeros lp0 = new ListaPasajeros(); if (lpC.Count() == listBoxListaPasajeros.Items.Count) //ESTO REVISA SI ORDENARA UN LISTA COMPLETA O LA FLTRADA ANTERIORMENTE { lp0 = lpC.quicksortAsiento(lpC, 0, lpC.Count() - 1); } else { lp0 = lpCF.quicksortAsiento(lpCF, 0, lpCF.Count() - 1); } listBoxListaPasajeros.Items.Clear(); for (int i = 0; i < lp0.Count(); i++) //SE AGREGAN LOS ELEMENTOS A LAS LISTA CON EL ORDENAMIENTO { listBoxListaPasajeros.Items.Add(lp0[i]); } } else { MessageBox.Show("No hay elmentos para ordenar", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
public FormPasajeros(ListaVuelos lv) { this.lv = lv; ListaPasajeros lpC = new ListaPasajeros(); this.lpC = lpC; foreach (ClassVuelo v in lv) { foreach (ClassPasajero pas in v.getListaPasajeros()) { this.lpC.Add(pas); } } InitializeComponent(); actualizaListaCompleta(); groupBoxOrdenar.Controls.OfType <RadioButton>().ToList().ForEach((radiobutton) => { radiobutton.AutoCheck = false; radiobutton.Checked = false; radiobutton.AutoCheck = true; }); }
///////////////////////////// public ClassVuelo(string ori, string dest, int cost, int tiem) { lp = new ListaPasajeros(); origen = ori; destino = dest; costo = cost; tiempo = tiem; ruta = "SK1" + ori + dest; /////////////////////////// }
public ListaPasajeros quicksortAsiento(ListaPasajeros lista, int primero, int ultimo) { int i, j, central; double pivote; central = (primero + ultimo) / 2; pivote = lista[central].getAsiento(); i = primero; j = ultimo; do { while (lista[i].getAsiento() < pivote) { i++; } while (lista[j].getAsiento() > pivote) { j--; } if (i <= j) { ClassPasajero temp; temp = lista[i]; lista[i] = lista[j]; lista[j] = temp; i++; j--; } } while (i <= j); if (primero < j) { quicksortAsiento(lista, primero, j); } if (i < ultimo) { quicksortAsiento(lista, i, ultimo); } return(lista); }
public ListaPasajeros quicksortRuta(ListaPasajeros lista, int primero, int ultimo) { int i, j, central; double pivote; central = (primero + ultimo) / 2; pivote = Asc(lista[central].getVuelo().getRuta()[3].ToString()); i = primero; j = ultimo; do { while (Asc(lista[i].getVuelo().getRuta()[3].ToString()) < pivote) { i++; } while (Asc(lista[j].getVuelo().getRuta()[3].ToString()) > pivote) { j--; } if (i <= j) { ClassPasajero temp; temp = lista[i]; lista[i] = lista[j]; lista[j] = temp; i++; j--; } } while (i <= j); if (primero < j) { quicksortRuta(lista, primero, j); } if (i < ultimo) { quicksortRuta(lista, i, ultimo); } return(lista); }
private void textBoxBusca_TextChanged(object sender, EventArgs e) { listBoxListaPasajeros.Items.Clear(); if (textBoxBusca.Text == " ") { textBoxBusca.Text = ""; actualizaListaCompleta(); } if (radioButtonNombres.Checked == true) { lpCF = lpC.busquedaCoincidenciasNomApel(textBoxBusca.Text, 1); } else { if (radioButtonApellidos.Checked == true) { lpCF = lpC.busquedaCoincidenciasNomApel(textBoxBusca.Text, 2); } else { if (radioButtonAsiento.Checked == true) { lpCF = lpC.busquedaCoincidenciasNomApel(textBoxBusca.Text, 3); } else //EDAD { lpCF = lpC.busquedaCoincidenciasNomApel(textBoxBusca.Text, 4); } } } listBoxListaPasajeros.Items.Clear(); for (int i = 0; i < lpCF.Count; i++) //SE AGREGAN LOS ELEMENTOS A LAS LISTA CON EL FILTRO { listBoxListaPasajeros.Items.Add(lpCF[i]); } }
public ListaPasajeros busquedaCoincidenciasNomApel(string dato, int opc) { ListaPasajeros lpF = new ListaPasajeros(); switch (opc) { case 1: //Buscar por nombre { for (int i = 0; i < this.Count; i++) { string nombre = this[i].getNombre(); int j; if (dato.Length > this[i].getNombre().Length) { break; } for (j = 0; j < dato.Length; j++) { if (nombre[j] != dato[j]) { break; } } if (j == dato.Length) { lpF.Add(this[i]); } } break; } case 2: //buscar por apellido { for (int i = 0; i < this.Count; i++) { string apellido = this[i].getApellido().ToString(); int j; if (dato.Length > this[i].getApellido().Length) { break; } for (j = 0; j < dato.Length; j++) { if (apellido[j] != dato[j]) { break; } } if (j == dato.Length) { lpF.Add(this[i]); } } break; } case 3: //buscar por asiento { for (int i = 0; i < this.Count; i++) { string asiento = this[i].getAsiento().ToString(); int j; if (dato.Length > asiento.Length) { break; } for (j = 0; j < dato.Length; j++) { if (asiento[j] != dato[j]) { break; } } if (j == dato.Length) { lpF.Add(this[i]); } } break; } case 4: //buscar por edad { for (int i = 0; i < this.Count; i++) { string edad = this[i].getEdad().ToString(); int j; if (dato.Length > this[i].getEdad().ToString().Length) { break; } for (j = 0; j < dato.Length; j++) { if (edad[j] != dato[j]) { break; } } if (j == dato.Length) { lpF.Add(this[i]); } } break; } } return(lpF); }