Код: Выделить всё
function sort_slij(var a:mas; p,r:integer):longint;
var q:integer;
d:mas;
sravn:longint;
function sl(pp,qq,rr:integer):longint;
var t,i,j,k:integer;
begin
i:=pp;j:=qq+1;t:=1;
while (i<=qq)and(j<=rr)do
begin
if a[i]<a[j] then begin
d[t]:=a[i];
inc(i);
end
else begin
d[t]:=a[j];
inc(j);
end;
inc(t);
end;
while i<=qq do begin d[t]:=a[i];inc(i);inc(t) end;
while j<=rr do begin d[t]:=a[j];inc(j);inc(t) end;
for k:=1 to t-1 do a[pp+k-1]:=d[k];
end;
begin
sravn:=0;
if p<r then begin
q:=(p+r) div 2;
sort_slij(A,p,q);
sort_slij(A,q+1,r);
sl(p,q,r);
end;
sort_slij:=sravn;
end;