Процедура быстрой сортировки:
program QuickSort;
const N = 7;
var A: array[1..N] of integer;
procedure qSort(nStart, nEnd: integer);
var L, R, c, X: integer;
begin
if nStart >= nEnd then Exit;
L:= nStart; R:= nEnd;
X:= A[(L+R) div 2]; { или X:= A[L+random(R-L+1)] }
while L <= R do begin { разделение }
while A[L] < X do L:= L + 1;
while A[R] > X do R:= R - 1;
if L <= R then begin
c:= A[L]; A[L]:= A[R]; A[R]:= c;
L:= L+1; R:= R-1
end
end;
qSort(nStart, R); { рекурсивные вызовы }
qSort(L, nEnd)
end;
begin
{ заполнить массив }
qSort(1, N); { сортировка }
{ вывести результат }
end;