Алгоритм быстрой сортировки - C# (192129)
Формулировка задачи:
Добрый день. Скиньте пожалуйста готовый код программы быстрой сортировки у кого есть.
Решение задачи: «Алгоритм быстрой сортировки»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace Sort
- {
- class Program
- {
- static void quickSort(int[] a, int l, int r)
- {
- int temp;
- int x = a[l + (r - l) / 2];
- //запись эквивалентна (l+r)/2,
- //но не вызввает переполнения на больших данных
- int i = l;
- int j = r;
- //код в while обычно выносят в процедуру particle
- while (i <= j)
- {
- 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--;
- }
- }
- if (i < r)
- quickSort(a, i, r);
- if (l < j)
- quickSort(a, l, j);
- }
- static void Main()
- {
- // Считываем размер массива,
- // который необходимо отсортировать
- int size;
- size = Convert.ToInt32(Console.ReadLine());
- // Динамически выделяем память под
- // хранение массива размера size
- //считываем строку
- string str = Console.ReadLine();
- //разбиваем по пробелам
- string[] mas = str.Split(' ');
- int[] a = new int [size];
- for (int i = 0; i < size; i++)
- {
- a[i] = int.Parse(mas[i]);
- }
- quickSort(a, 0, size - 1);
- // Выводим отсортированный массив
- for (int i = 0; i < size; i++)
- {
- Console.Write(a[i]);
- Console.Write(' ');
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д