private void eliminarVuelos_Click(object sender, EventArgs e)
        {
            listaVuelos.RemoveAt(listBox1.SelectedIndex);

            listBox1.Items.Clear();
            actualizarListBox();
            eliminarVuelos.Enabled = false;

            if (listaVuelos.Count == 0)
            {
                this.Close();
            }
        }
 private void actualizarFecha_Click(object sender, EventArgs e)
 {
     for (int i = 0; i < listaVuelos.Count; i++)
     {
         if (listaVuelos[i].fecha < DateTime.Now)
         {
             listaVuelos.RemoveAt(i);
             i = -1;
         }
         listBox1.Items.Clear();
         actualizarListBox();
     }
 }
Exemple #3
0
        private void primm_Click(object sender, EventArgs e)
        {
            this.Refresh();
            ListaVuelos listaCand  = new ListaVuelos();
            ListaVuelos listaFinal = new ListaVuelos();
            string      B;
            string      ARM;

            B   = "";
            ARM = "";

            for (int i = 0; i < listaVuelos.Count; i++)
            {
                listaCand.Add(listaVuelos[i]);
            }
            for (int i = 0; i < grafito.Count; i++)
            {
                ARM = ARM + grafito[i].origen;
            }
            int contadorCand = listaCand.Count;

            QuickSortTiempo(ref listaCand, 0, listaCand.Count - 1);
            Pen arista = new Pen(Color.BlueViolet, 4);

            arista.EndCap = System.Drawing.Drawing2D.LineCap.ArrowAnchor;
            SolidBrush colorLetras = new SolidBrush(Color.Red);

            while (B.Length != grafito.Count)
            {
                rehacer(ref listaCand, listaFinal);
                seleccion(ref listaCand, ref listaFinal, B);
                if (B == "")
                {
                    listaFinal.Add(listaCand[0]);
                    B = listaCand[0].o + listaCand[0].d;
                    listaCand.RemoveAt(0);
                }

                else
                {
                    listaFinal.Add(listaCand[0]);
                    if (B.Contains(listaCand[0].o))
                    {
                        B = B + listaCand[0].d;
                    }
                    else
                    {
                        B = B + listaCand[0].o;
                    }
                    listaCand.RemoveAt(0);
                }
            }

            int x1 = 0, x2 = 0, y1 = 0, y2 = 0;

            for (int i = 0; i < listaFinal.Count; i++)
            {
                for (int j = 0; j < grafito.Count; j++)
                {
                    if (listaFinal[i].o == grafito[j].origen)
                    {
                        x1 = grafito[j].x;
                        y1 = grafito[j].y;
                    }
                    for (int h = 0; h < grafito[j].listaAristas.Count; h++)
                    {
                        if (listaFinal[i].d == grafito[j].listaAristas[h].destino)
                        {
                            x2 = grafito[j].listaAristas[h].x;
                            y2 = grafito[j].listaAristas[h].y;
                        }
                    }
                }
                panel1.CreateGraphics().DrawLine(arista, x1, y1, x2, y2);
                panel1.CreateGraphics().DrawString(listaFinal[i].tiempo.ToString(), DefaultFont, colorLetras, (x1 + x2) / 2, (y1 + y2) / 2);
            }

            this.panel1.Refresh();
            for (int i = 0; i < listaFinal.Count; i++)
            {
                for (int j = 0; j < grafito.Count; j++)
                {
                    if (listaFinal[i].o == grafito[j].origen)
                    {
                        x1 = grafito[j].x;
                        y1 = grafito[j].y;
                    }
                    for (int h = 0; h < grafito[j].listaAristas.Count; h++)
                    {
                        if (listaFinal[i].d == grafito[j].listaAristas[h].destino)
                        {
                            x2 = grafito[j].listaAristas[h].x;
                            y2 = grafito[j].listaAristas[h].y;
                        }
                    }
                }
                panel1.CreateGraphics().DrawLine(arista, x1, y1, x2, y2);
                panel1.CreateGraphics().DrawString(listaFinal[i].tiempo.ToString(), DefaultFont, colorLetras, (x1 + x2) / 2, (y1 + y2) / 2);
            }
            int pesoTotalPrim = 0;

            for (int i = 0; i < listaFinal.Count; i++)
            {
                pesoTotalPrim += listaFinal[i].tiempo;
            }

            primmbox.Text = pesoTotalPrim.ToString() + " hrs";
            kruskallbox.Clear();
            ListaArsitas.Items.Clear();
            string[] s = new string[2];
            for (int i = 0; i < listaFinal.Count; i++)
            {
                s[0] = listaFinal[i].o;
                s[1] = listaFinal[i].d;

                ListViewItem listviewKP = new ListViewItem(s);
                ListaArsitas.Items.Add(listviewKP);
            }
        }