Необходимо написать программу для сортировки элементов - 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;
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д