![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
krox |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 19 Пол: Мужской Репутация: ![]() ![]() ![]() |
Задание следующее...
Элементы двунаправленного списка имеют следующую структуру: Шифр детали Наименование Цена Вес Указатель предыдущего Указатель последующего Удалить элемент с заданным номером К от начала списка. задание выполнил используя пример однонаправленого списка... помогите/объясните как сделать задание с двунаправлеными списками... вот код unit Unit1; в этом коде однонаправленый список... нужен двунаправленый по заданию... в прикреплёном архиве все файлы проекта... Прикрепленные файлы ![]() |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Во-первых, у тебя Дельфи, а для Дельфи есть соответствующий раздел...
Во вторых, то, что ты делаешь - не выдерживает никакой критики: описал бы список как класс, было бы гораздо лучше, зачем усложнять себе жизнь работой с глобальными переменными? Зачем объединять указатели sled/pred и данные? Не надо этого делать... как только тебе понадобится сохранить содержимое списка в файл, ты поймешь, о чем я... Все проще гораздо: type Для удаления элемента из двухсвязного списка пользуемся procedure tlist.remove_item(p: ptitem); // <--- сюда передается адрес элемента, который надо удалить, находится этот адрес - простым циклом с увеличением счетчика элементов, как у тебя и было сделано для списка односвязного... P.S. Если пользуешься Дельфи 2009, то можно сделать еще красивее... |
![]() ![]() |
![]() |
Текстовая версия | 23.06.2025 22:57 |