Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Обработка списков

Автор: Needhelp 21.05.2007 21:17

Заданы два линейных однонаправленных списка из элементов типа Integer. Описать процедуру (или функцию), которая производит слияние исходных списков и упорядочивает полученный список по убыванию.

Процедуру слияния написал... с сортировкой вопрос..


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;




Автор: volvo 21.05.2007 21:41

Рекурсивно:
http://forum.pascal.net.ru/index.php?s=&showtopic=7992&view=findpost&p=55658

Итеративно:
http://forum.pascal.net.ru/index.php?s=&showtopic=7060&view=findpost&p=51051

Автор: Needhelp 21.05.2007 21:46

Цитата(volvo @ 21.05.2007 18:41) *

Рекурсивно:
http://forum.pascal.net.ru/index.php?s=&showtopic=7992&view=findpost&p=55658

Итеративно:
http://forum.pascal.net.ru/index.php?s=&showtopic=7060&view=findpost&p=51051


Ага, не досмотрел rolleyes.gif Ну, спасибо))) Прямо то, что мне надо!!!