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; } ; } }
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; } }