Быстрая сортировка

  • Автор темы Автор темы kurzon
  • Дата начала Дата начала
K

kurzon

Быстрая сортировка
Как рекурсивно вызвать?


Код:
static class QuickSorting
{
public static void Sort<T>(T[] array, Comparison<T> comparison)
{

int i = 0, j = array.Length; 		// поставить указатели на исходные места
T temp, p;

p = array[array.Length >> 1];		// центральный элемент

// процедура разделения
do
{
while (comparison(array[i],p)>0) i++;
while (comparison(array[j],p)>0) j--;

if (i <= j)
{
temp = array[i];
array[i] = array[j]; 
array[j] = temp;
i++; j--;
}
} while (i <= j);


// рекурсивные вызовы, если есть, что сортировать 
if (j > 0) Sort<T>(array, j);
if (array.Length > i) Sort<T>(array + i, array.Length - i);


}
}
Пожалуста исправте ошибки?
 
А что нужно сделать? Если просто отсортировать элементы в массиве, то и сам массив, и выборки из датасетов, и листбокс изначально поддерживают сортировку.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab