Помощь - Поиск - Пользователи - Календарь
Полная версия: объединение списков
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Venom
Кто-нибудь помогите написать несколько процедур. Две вводят два списка третья их объединяет в один а четвертая выводит объединенный список

Вопросы в форум FAQ не задаем...
volvo
Для того, чтобы ввести 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;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.