procedure insert ( new : tree; var pq : tree );
begin
if pq = nil then pq := new
else if pq^.k <= new^.k then begin
new^.left := pq;
pq := new
end
else if pq^.left = nil then
pq^.left := new
else if pq^.left^.k <= new^.k then
insert( new, pq^.left )
else insert( new, pq^.right )
end;
|