
14.09.2016, 07:41
|
 |
Sir Richard Abramson
|
|
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
|
|
Код:
procedure qSort(l,r:longint);
var i,j:longint;
w,q:real;
begin
i := l; j := r;
q := v[(l+r) div 2];
repeat
while (v[i] < q) do inc(i);
while (q < v[j]) do dec(j);
if (i <= j) then
begin
w:=v[i];
v[i]:=v[j];
print("заменяем v[i] (%d) на v[j] (%d)", [v[i], v[j]]) # <<<<<<<<<<<<<<<
v[j]:=w;
print("заменяем v[j] (%d) на w (%d)", [v[j], w]) # <<<<<<<<<<<<<<<
inc(i); dec(j);
end;
until (i > j);
if (l < j) then qSort(l,j);
if (i < r) then qSort(i,r);
end;
|