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

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

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

Автор: Venom 7.01.2006 2:53

Кто-нибудь помогите написать несколько процедур. Две вводят два списка третья их объединяет в один а четвертая выводит объединенный список

Вопросы в форум FAQ не задаем...

Автор: volvo 7.01.2006 3:55

Для того, чтобы ввести 2 списка, достаточно одной процедуры, иначе в ней просто нет смысла: Зачем делать процедуру, если для выполнения той же задачи второй раз придется делать еще одну?

Для объединения списков достаточно сделать так:

type
plist = ^tlist;
tlist = record
info: integer;
next: plist;
end;

var
first_1, last_1: plist; { начало и конец первого списка }
first_2, last_2: plist; { начало и конец второго списка }

...
last_1^.next := first_2;
{ теперь first_1 будет указывать на объединенный список }


Ну, а для того, чтобы распечатать список:
procedure print(first: plist);
begin
while first <> nil do begin
write(first^.info, ' ');
first := first^.next;
end;
writeln;
end;