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

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

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

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

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

textual
Листинг программы
  1.     class Program
  2.     {
  3.         static void Main(string[] args)
  4.         {
  5.             char[] m = {'z', 'b', 't', 'a', 'o'};
  6.  
  7.             Console.Write("До сортировки: ");
  8.  
  9.             foreach (var item in m)
  10.             {
  11.                 Console.Write(item + " ");
  12.             }
  13.  
  14.             Console.WriteLine();
  15.  
  16.             QSort(m, 0, m.Length - 1);
  17.  
  18.             Console.Write("После сортировки: ");
  19.  
  20.             foreach (var item in m)
  21.             {
  22.                 Console.Write(item + " ");
  23.             }
  24.         }
  25.  
  26.         static void QSort<T>(T[] m, int l, int r) where T : IComparable<T>
  27.         {
  28.             if (l >= r)
  29.                 return;
  30.  
  31.             int p = Partition(m, l, r);
  32.             QSort<T>(m, l, p - 1);
  33.             QSort<T>(m, p + 1, r);
  34.         }
  35.  
  36.         static int Partition<T>(T[] m, int l, int r) where T : IComparable<T>
  37.         {
  38.             int i = l;
  39.  
  40.             for (int j = l; j <= r; j++)
  41.             {
  42.                 if (m[j].CompareTo(m[r]) <= 0)
  43.                 {
  44.                     T t = m[i];
  45.                     m[i] = m[j];
  46.                     m[j] = t;
  47.                     i++;
  48.                 }
  49.             }
  50.    
  51.             return i - 1;
  52.         }
  53.     }

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


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

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

6   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы