コード例 #1
0
        private void UNRBtnWizualizacjaTablicyPoSortowaniem_Click(object sender, EventArgs e)
        {
            if (UNRSprawdzPola() == true)
            {
                if (UNRFlagaPrzyciskuPrzed == false)
                {
                    UNRBtnWizualizacjaTablicyPrzedSortowaniem_Click(sender, e);
                }
                if (UNRShell.Checked == true)
                {
                    UNRShell Shell = new UNRShell(UNRTablicaSortowania);
                    UNRDgvPrzedSortowaniem.Visible = false;
                    UNRTablicaPoSortowaniu         = Shell.Sortuj();
                    DataTable UNRtable = UNRUtils.UNRConvertListToDataTable(UNRTablicaPoSortowaniu);
                    UNRDgvPoSortowaniu.DataSource  = UNRtable;
                    UNRDgvPrzedSortowaniem.Visible = false;
                    UNRDgvPoSortowaniu.Visible     = true;
                }

                else if (UNRGrzebieniowe.Checked == true)
                {
                    UNRGrzebieniowe Grzebieniowe = new UNRGrzebieniowe(UNRTablicaSortowania);
                    UNRDgvPrzedSortowaniem.Visible = false;
                    UNRTablicaPoSortowaniu         = Grzebieniowe.Sortuj();
                    DataTable UNRtable = UNRUtils.UNRConvertListToDataTable(UNRTablicaPoSortowaniu);
                    UNRDgvPoSortowaniu.DataSource  = UNRtable;
                    UNRDgvPrzedSortowaniem.Visible = false;
                    UNRDgvPoSortowaniu.Visible     = true;
                }
                ;
            }
        }
コード例 #2
0
 private void UNRLosowanie()
 {
     if (UNRSprawdzPola() == true)
     {
         //Utwórz losową tablicę
         UNRTablicaSortowania.Clear();
         UNRTablicaSortowania = UNRUtils.UNRLosowanie(UNRDolnaGranica, UNRGornaGranica, UNRMaxRozmiarTablic, UNRTablicaSortowania);
     }
 }
コード例 #3
0
 private void UNRBtnWizualizacjaTablicyPrzedSortowaniem_Click(object sender, EventArgs e)
 {
     if (UNRSprawdzPola() == true)
     {
         UNRLosowanie();
         var       UNRListToSee = new BindingList <Int32>(UNRTablicaSortowania);
         DataTable table        = UNRUtils.UNRConvertListToDataTable(UNRTablicaSortowania);
         UNRDgvPrzedSortowaniem.DataSource = table;
         UNRDgvPoSortowaniu.Visible        = false;
         UNRDgvPrzedSortowaniem.Visible    = true;
     }
 }
コード例 #4
0
        private void UNRBtnWynikiFormaTabelaryczna_Click(object sender, EventArgs e)
        {
            if (UNRSprawdzPola() == true)
            {
                UNRLosowanie();
                double    UNROstatecznyCzas = 0;
                Stopwatch UNRwatch          = new Stopwatch();
                UNRTablicaPomiarowa.Clear();                                                      //czyszczenie tablicy z pozostałych elementów
                for (int UNRAktRozmiar = 0; UNRAktRozmiar < UNRMaxRozmiarTablic; UNRAktRozmiar++) //generowanie aktualnego rozmiaru tablicy
                {
                    for (int UNRProba = 0; UNRProba < UNRLiczbaPowtorzen; UNRProba++)
                    {     //generowanie liczby tablic o danym rozmiarze
                        UNRUtils.UNRLosowanie(UNRDolnaGranica, UNRGornaGranica, UNRAktRozmiar, UNRTablicaSortowania);
                        UNRCzasy UNRczas_sortowania_ob = new UNRCzasy();
                        if (UNRShell.Checked == true)
                        {
                            UNRShell UNRShell_ob = new UNRShell(UNRTablicaSortowania);
                            UNRDgvPrzedSortowaniem.Visible = false;
                            UNRwatch.Reset();
                            UNRwatch.Start();
                            UNRTablicaPoSortowaniu = UNRShell_ob.Sortuj();
                            UNRwatch.Stop();
                            UNRczas_sortowania_ob.UNRUstawRozmiar(UNRAktRozmiar);
                            UNRczas_sortowania_ob.UNRUstawCzasPomiaru(1000000 * UNRwatch.ElapsedTicks / Stopwatch.Frequency); //pomiar czasu w mikrosekundach
                            UNRczas_sortowania_ob.UNRUstawCzasObliczony((UNRAktRozmiar * UNRAktRozmiar));
                            UNRTablicaPomiarowa.Add(UNRczas_sortowania_ob);
                        }
                        if (UNRGrzebieniowe.Checked == true)
                        {
                            UNRGrzebieniowe UNRGrzebieniowe_ob = new UNRGrzebieniowe(UNRTablicaSortowania);
                            UNRDgvPrzedSortowaniem.Visible = false;
                            UNRwatch.Reset();
                            UNRwatch.Start();
                            UNRTablicaPoSortowaniu = UNRGrzebieniowe_ob.Sortuj();
                            UNRwatch.Stop();
                            UNRczas_sortowania_ob.UNRUstawRozmiar(UNRAktRozmiar);
                            UNRczas_sortowania_ob.UNRUstawCzasPomiaru(1000000 * UNRwatch.ElapsedTicks / Stopwatch.Frequency); //pomiar czasu w mikrosekundach
                            UNRczas_sortowania_ob.UNRUstawCzasObliczony((UNRAktRozmiar * UNRAktRozmiar * UNRAktRozmiar));
                            UNRTablicaPomiarowa.Add(UNRczas_sortowania_ob);
                        }
                    }
                }

                UNRTablicaOstateczna.Clear(); // Czyszczenie tablicy ostatecznej
                for (int UNRi = 1; UNRi < UNRTablicaPomiarowa.Count; UNRi++)
                {
                    UNRCzasy UNRCzasy_ostateczne = new UNRCzasy();

                    if (UNRTablicaPomiarowa[UNRi].UNRGetRozmiar() == UNRTablicaPomiarowa[UNRi - 1].UNRGetRozmiar())
                    {
                        UNROstatecznyCzas = UNROstatecznyCzas + UNRTablicaPomiarowa[UNRi].UNRGetCzasPomiaru();
                    }
                    else
                    {
                        UNROstatecznyCzas = UNROstatecznyCzas / UNRLiczbaPowtorzen;
                        UNRCzasy_ostateczne.UNRUstawCzasPomiaru(UNROstatecznyCzas);
                        UNRCzasy_ostateczne.UNRUstawCzasObliczony(UNRTablicaPomiarowa[UNRi].UNRGetCzasObliczony());
                        UNRCzasy_ostateczne.UNRUstawRozmiar(UNRTablicaPomiarowa[UNRi].UNRGetRozmiar());
                        UNRTablicaOstateczna.Add(UNRCzasy_ostateczne);
                        UNROstatecznyCzas = 0;
                    }
                }

                UNRtable = UNRUtils.UNRConvertListToDataTableCzasy(UNRTablicaOstateczna);
                UNRDgvPoSortowaniu.DataSource  = UNRtable;
                UNRDgvPrzedSortowaniem.Visible = false;
                UNRDgvPoSortowaniu.Visible     = true;


                UNRFlagaPrzycisku = true;
            }
        }