Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Чет про программирование / практика / 8) Быстрая сортировка

.docx
Скачиваний:
22
Добавлен:
25.04.2015
Размер:
13.17 Кб
Скачать

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

var

n, i: integer;

a: array of integer;

procedure swap(var i,j: integer);

var t: integer;

begin

t := i;

i := j;

j := t;

end;

procedure qsort(l, r: integer);

var

x: integer;

i, j: integer;

begin

x := a[(l + r) div 2];

i := l;

j := r;

while i < j do begin

while a[i] < x do inc(i);

while a[j] > x do dec(j);

if i <= j then begin

swap(a[i], a[j]);

inc(i);

dec(j);

end;

end;

if l < j then qsort(l, j);

if i < r then qsort(i, r);

end;

begin

randomize;

read(n);

setlength(a, n);

for i := 0 to n-1 do begin

read(a[i]);

end;

qsort(0, n-1);

for i := 0 to n-1 do

write(a[i], ' ');

writeln;

readln;

readln;

end.