procedure sort( var r : ArrayToSort; lo, up : integer );
var i, j : integer;
tempr : ArrayEntry;
begin
r[up+1].k := MaximumKey;
for i:=up-1 downto lo do begin
tempr := r[i];
j := i+1;
while tempr.k > r[j].k do begin
r[j-1] := r[j];
j := j+1
end;
r[j-1] := tempr
end
end;
|