Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
38
Добавлен:
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