Записки программиста Программирование и не только

30Мар/100

Быстрая сортировка (Pascal)

В дополнении к ЭТОЙ теме.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
procedure quickSort(l,h: integer);
var
    i,j,mid,tmp: integer;
begin
    i := l;
    j := h;
    mid := mArray[(l + h) div 2];
    repeat
        while mArray[i] < mid do inc(i);
        while mArray[j] > mid do dec(j);
        if (i < = j) then
        begin
            if (i < j) then
            begin
                tmp := mArray[i];
                mArray[i] := mArray[j];
                mArray[j] := tmp;
            end;
            inc(i);
            dec(j);
        end;
    until i > j;
    if l < j then quickSort(l, j);
    if i < h then quickSort(i, h);
end;
Комментарии (0) Пинги (0)

Пока нет комментариев.


Leave a comment

Trackbacks are disabled.