Помощь - Поиск - Пользователи - Календарь
Полная версия: объединение списков
Форум «Всё о Паскале» > 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;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.