Помощь - Поиск - Пользователи - Календарь
Полная версия: Списки
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
Гость_Alex
Кто-нибудь знает как сформировать список.
Везде есть добавление в начало списка, а мне надо в конец.
Напишите код если можно.
Atos
Я делал список как раз с добавлением в конец... Но у меня был список объектов класса "Матрица", причём сам реализованный в виде класса. Впрочем, наверное, можно и переделать. Если надо файл, напиши.
Altair
Ну вы даете! ... angry.gif
Какого .... я выложил сюда модуль для списков?:
http://forum.pascal.net.ru/index.php?showtopic=1852
----
P.S.
Procedure BListAddLast(var L: TList; E: TElem);
добавление в хвост!
Гость_Alex
Спасибо за ответ.
Это действительно хороший модуль.
Но проблема в том что у меня список с головным элементом, и никак не получается обойтись без цикла, но ведь можно, так даже у Вирта написано.
Так вопрос в том: как добавить элемент в хвост без цикла использую дополнительный элемент вроде last или же что тоже самое с помощью головного элемента?
Спасибо за ответ.
Guest
И вообще в этом модуле какой-то странный головной элемент. Вообще то он выглядит так:
Type
Head = ^P_head;
P_head = record
First : P_el;
Last : P_el;
Name : string;
Count : byte;
end;
Altair
В этом модуле есть процедуры для работы с головным элементом и без него.
Цитата
Но проблема в том что у меня список с головным элементом, и никак не получается обойтись без цикла

А там без цикла, там рекурсия!
Цитата
, но ведь можно, так даже у Вирта написано

В какой книге Вирта это написанно?
Guest
"Алгоритмы и структуры данных"
а конструкцию while я называю циклом, хотя в принципе здесь это и рекурсия так вот мне надо бы чтобы без неё, у меня вообще то однонаправленный циклический с головным. Я всё нужные мне операции сделал уже вот только осталось что нибудь придумать с этим головным, не просто так ведь он указан.
Altair
Цитата
И вообще в этом модуле какой-то странный головной элемент. Вообще то он выглядит так:
Type
Head = ^P_head;
P_head = record
First : P_el;
Last : P_el;
Name : string;
Count : byte;
end;

Вы написали тип ДВУСВЯЗНОГО списка, а модуль для ОДНОСВЯЗНЫХ!
Цитата
В какой книге Вирта это написанно?

Я спрашивал, потому что ищу "Алгоритмы+структуры данных=программы"
Гость_Alex
Так кто-нибудь может написать или нет??
Altair
попробую
Гость_Alex
Что то долго пробуешь? но теперь можешь не стараться, я сам сделал то о чём писал, даже в двух вариантах
APAL
Цитата(Гость_Alex @ 28.04.04 11:53)
Что то долго пробуешь? но теперь можешь не стараться, я сам сделал то о чём писал, даже в двух вариантах

Тогда закрываю тему.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.