Быстрая сортировка массива - C#
Формулировка задачи:
Не могу понять как исправить метод сортировки. Задание: быстрым методом сортировки отсортировать по возрастанию строчные латинские буквы.
public static void QuickSort(char[] A, int l, int h) { char temp; var x = A[l = (h - l) / 2]; int i = l; int j = h; do { while (A[i] < x) i++; while (A[j] > x) j--; if (i <= j) { temp = A[i]; A[i] = A[j]; A[j] = temp; i++; j--; } } while (i <= j); if (i < h) QuickSort(A, i, h); if (i < j) QuickSort(A, l, j); } static void Main(string[] args) { char[] A; Random r = new Random(); Console.Write("Введите размерность массива "); int n = int.Parse(Console.ReadLine()); A = new char[n]; for (int o = 0; o < n; o++) { A[o] = Convert.ToChar(r.Next(97, 122)); } Console.WriteLine("\nДо сортировки "); for (int z = 0; z < A.Length; z++) { Console.Write(A[z] + " "); } QuickSort(A, A[0],A[n-1]); Console.WriteLine("\nПосле сортировки "); for (int k = 0; k < A.Length; k++) { Console.Write("{0} ", A[k]); } Console.ReadLine(); }
Решение задачи: «Быстрая сортировка массива»
textual
Листинг программы
QuickSort (A, 0, A.Length);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д