Необходимо написать программу для сортировки элементов - C#

Узнай цену своей работы

Формулировка задачи:

Необходимо написать программу, в которой методом быстрой сортировки нужно отсортировать прописные латинские буквы по возрастанию. (необходимо заполнить массив неупорядоченными данными, вывести неупорядоченные данные на экран, отсортировать массив, вывести упорядоченные данные на экран)

Решение задачи: «Необходимо написать программу для сортировки элементов»

textual
Листинг программы
    class Program
    {
        static void Main(string[] args)
        {
            char[] m = {'z', 'b', 't', 'a', 'o'};
 
            Console.Write("До сортировки: ");
 
            foreach (var item in m)
            {
                Console.Write(item + " ");
            }
 
            Console.WriteLine();
 
            QSort(m, 0, m.Length - 1);
 
            Console.Write("После сортировки: ");
 
            foreach (var item in m)
            {
                Console.Write(item + " ");
            }
        }
 
        static void QSort<T>(T[] m, int l, int r) where T : IComparable<T>
        {
            if (l >= r)
                return;
 
            int p = Partition(m, l, r);
            QSort<T>(m, l, p - 1);
            QSort<T>(m, p + 1, r);
        }
 
        static int Partition<T>(T[] m, int l, int r) where T : IComparable<T>
        {
            int i = l;
 
            for (int j = l; j <= r; j++)
            {
                if (m[j].CompareTo(m[r]) <= 0)
                {
                    T t = m[i];
                    m[i] = m[j];
                    m[j] = t;
                    i++;
                }
            }
   
            return i - 1;
        }
    }

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


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

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

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