Произвести слияние двух заданных упорядоченных по возрастанию списков в один неубывающий список.
Посмотрите, пожалуйста на мой программный код. Правильно ли я понимаю путь реализации соединения двух списков. Что-то я запутался. И еще как правильно вывести результирующую очередь???
Вот код.
type TypeOfElem = Integer;
Sllptr=^Zveno;
Zveno= record
Elem: TypeOfElem;
Next: Sllptr;
end;
Procedure Unite (var head1, head2 : sllptr);
var cur : sllptr;
begin
if head2<>nil then begin
if head1=nil then head1:=head2
else
begin cur:=head1;
while cur^.next<>nil do cur:=cur^.next;
cur^.next:=head2;
end; head2:=nil;
end; end;
Var k,i :integer;
aElem: SllPtr; aElem1: SllPtr;
Begin
write('vvedite chislo elementov spiska 1 ');
readln(k);
for i:=1 to k do
begin
write('vvedite spisok 1 ');
new(aElem);
readln(aElem^.elem);
aElem^.Next:=nil;
end;
write('vvedite chislo elementov spiska 2 ');
readln(k);
for i:=1 to k do
begin
write('vvedite spisok 2 ');
new(aElem1);
readln(aElem1^.elem);
aElem1^.Next:=nil;
end;
Unite (aelem,aelem1);
readln;
end.