public MainWindow() { InitializeComponent(); labelBubbleSpeed.Content = ""; labelInsertionSpeed.Content = ""; labelQuickSpeed.Content = ""; labelShellSpeed.Content = ""; textBoxSource.Text = string.Empty; textBoxSorted.Text = string.Empty; if (int.TryParse(textBoxCountElement.Text, out int count)) { Sort = new SortingArray(); Sort.GetNewArray(count); } else { MessageBox.Show("Количество элементов массива должно быть числом"); //buttonSort.IsEnabled = false; } // OriginalArray = GetNewArray(LenghtArray); }
private void buttonSort_Click(object sender, RoutedEventArgs e) { //для создания массива длинной CountElement int CountElement = int.Parse(textBoxCountElement.Text); //если перед сортировкой нужно получить новый массив if ((checkBox.IsChecked == true) || (Sort.OriginalArray.Length != CountElement)) { Sort.GetNewArray(CountElement); } //если нужно отобразить исходный массив if (checkBoxShowSourceArray.IsChecked == true) { ShowArray(Sort.OriginalArray, textBoxSource); } //этот массив будет передавать в методы для сортировки int[] ArrayForSort; //для измерения времени выполнения сортировок Stopwatch stopwatch; if (checkBoxBubble.IsChecked == true) { ArrayForSort = Sort.GetArray(); stopwatch = Stopwatch.StartNew(); BubleSort(ArrayForSort); stopwatch.Stop(); labelBubbleSpeed.Content = stopwatch.ElapsedMilliseconds.ToString(); //ShowArray(OriginalArray, textBoxSorted); if (!CheckSort(ArrayForSort)) { labelBubbleSpeed.Content = "Ошибка сортировки!"; } } if (checkBoxInsertion.IsChecked == true) { ArrayForSort = Sort.GetArray(); stopwatch = Stopwatch.StartNew(); InsertionSort(ArrayForSort); stopwatch.Stop(); labelInsertionSpeed.Content = stopwatch.ElapsedMilliseconds.ToString(); // ShowArray(NewArray, textBoxSorted); if (!CheckSort(ArrayForSort)) { labelInsertionSpeed.Content = "Ошибка сортировки!"; } } if (checkBoxQuick.IsChecked == true) { ArrayForSort = Sort.GetArray(); stopwatch = Stopwatch.StartNew(); QuickSort(ArrayForSort); stopwatch.Stop(); labelQuickSpeed.Content = stopwatch.ElapsedMilliseconds.ToString(); //ShowArray(ArrayForSort, textBoxSorted); if (!CheckSort(ArrayForSort)) { labelQuickSpeed.Content = "Ошибка сортировки!"; } } if (checkBoxShell.IsChecked == true) { ArrayForSort = Sort.GetArray(); stopwatch = Stopwatch.StartNew(); ShellSort(ArrayForSort); stopwatch.Stop(); labelShellSpeed.Content = stopwatch.ElapsedMilliseconds.ToString(); if (checkBoxShowSortedArray.IsChecked == true) { ShowArray(ArrayForSort, textBoxSorted); } if (!CheckSort(ArrayForSort)) { labelShellSpeed.Content = "Ошибка сортировки!"; } } }