Быстрая сортировка массива - 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);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.769 из 5
Похожие ответы