Метод быстрой сортировки. Подскажите где ошибка? - C#
Формулировка задачи:
Не могу понять где ошибка?
using System; namespace ConsoleApplication67 { class Program { static void Output(int[] Arr, string name) { Console.WriteLine("Массив {0}", name); for (int i = 0; i < Arr.Length; i++) Console.Write(Arr[i]); Console.WriteLine(); } static void InputData(ref int[] arr) { int i = 0; arr[i] = 0; Random Num = new Random(); for (i = 0; i <= (arr.Length - 1); i++) { arr[i] = Num.Next(1, 10); } } static void QuickSort(ref int[] arr, int lb, int ub) { int i, j, x, t; i = lb; j = ub; x = arr[(lb + ub) / 2]; do //разделение массива+ { while (arr[i] < x)//слева направо i++; //ищем элемент больше х while (x < arr[j])//наоборт j--; if (i <= j)//меняем элементы местами { t = arr[i]; arr[i] = arr[j]; arr[j] = t; i++; j--; } } while (i < j); if (lb < j) QuickSort(ref arr, lb, j); if (i < ub) QuickSort(ref arr, ub, i); } static void Main() { int[] arr = new int[1000]; InputData(ref arr); Console.WriteLine("Быстрая сортировка"); QuickSort(ref arr, 0, arr.Length - 1); Output(arr, "arr"); Console.ReadLine(); } } }
ну или решите хотя бы заново.
Решение задачи: «Метод быстрой сортировки. Подскажите где ошибка?»
textual
Листинг программы
if (i < ub) QuickSort(ref arr, i, ub);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д