Процедуру слияния написал... с сортировкой вопрос..
Procedure Unite (var head1, head2 : sllptr);
var cur : sllptr;
begin { если 2-й список пустой - нечего делать }
if head2<>nil then begin
{ если 1-й список пустой, выходным списком будет 2-й }
if head1=nil then head1:=head2
else { перебор 1-го списка до последнего его эл-та }
begin cur:=head1;
while cur^.next<>nil do cur:=cur^.next;
{ последний эл-т 1-го списка указывает на начало 2-го }
cur^.next:=head2;
end; head2:=nil; { 2-й список аннулируется }
end; end;