Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
32
Добавлен:
25.04.2015
Размер:
875 б
Скачать
{$mode objfpc}

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
write(l, ' ', r , ': ');
for i := l to r do
write(a[i], ' ');
writeln;

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;
end.

Соседние файлы в папке 13_sort