Метод предложен Ч. Э. Р. Хоаром в 1962 году. Быстрая сортировка", хоть и была разработана более 40 лет назад, является наиболее широко применяемым и одним их самых эффективных алгоритмов.
Метод основан на подходе "разделяй - и - властвуй". Общая схема такова:
из массива выбирается некоторый опорный элемент P, например средний элемент, запускается процедура разделения массива, которая перемещает все числа, меньшие, либо равные P, влево от него, а все числа, большие, либо равные P – вправо. Теперь массив состоит из двух подмассивов, причем в левом числа меньшие P (или равные), в правом большие. Для обоих подмассивов, если в подмассиве более двух элементов, рекурсивно запускаем ту же процедуру. В конце получится полностью отсортированная последовательность.
Procedure QuickSort(m, t: Integer);
Var i, j, x, w: Integer;
Begin
i:=m; j:=t; x:=A[(m+t) Div 2];
Repeat
While A[i]<x Do Inc(i);
While A[j]>x Do Dec(j);
If i<=j Then Begin
w:=A[i]; A[i]:=A[j]; A[j]:=w;
Inc(i); Dec(j);
End
Until i>j;
If m<j Then QuickSort(m, j);
If i<t Then QuickSort(i, t);
End;
Ниже написана программа, которую вы можете запустить на своем компьютере (сделайте это обязательно!)