Помощь - Поиск - Пользователи - Календарь
Полная версия: Линейный список
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
-Kinelo-
:molitva: Прошу прощения, не подскажите как попроще написать прогу:

Текстовый файл содержит набор целых чисел.
Сформировать односвязный линейный список, поместив в него данные из файла. Затем сформировать новый список, включив в него элементы исходного списка так, чтобы в нем не было элементов с повторяющимися значениями (оставить элементы в одном экземпля-ре).

Теоретически я написал ее, но она помимо того что работае криво(через массивы), но еще и не копирует в одном экземпляре число, которое хранится в нескольких экземплярах, а копирует только те числа которые изначально хранятся в списке в одном экземпляре

:molitva: HELP
volvo
Ну, во-первых, чтобы знать, как написать попроще, надо знать попроще чем что (без твоих исходников это, к сожалению, невозможно)...

Ну, а теперь по теме...
Здесь: FAQ: Динамические структуры данных (списки) есть реализация односвязного списка. Для решения твоей задачи - добавлять данные в первый список, используя addtoend, а затем переносить их во второй вот так:

p := list_first;
while p <> nil do begin
  if searchel(list_second, p^.info) = nil then
    addtoend(list_second, p^.info);
  p := p^.next;
end;
kinelo
а как объявляются переменные searchel, list_first, list_second, а то у меня уже голова не соображает
volvo
А ты по ссылке ходил? Вот в той программе и посмотри, как работают со списками... Кстати, searchel это не переменная, а функция...
kinelo
Большое спасибо, я просто сегодня торможу, около 22 часов на ногах
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.