![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
krox |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 19 Пол: Мужской Репутация: ![]() ![]() ![]() |
Задание следующее...
Элементы двунаправленного списка имеют следующую структуру: Шифр детали Наименование Цена Вес Указатель предыдущего Указатель последующего Удалить элемент с заданным номером К от начала списка. задание выполнил используя пример однонаправленого списка... помогите/объясните как сделать задание с двунаправлеными списками... вот код unit Unit1; в этом коде однонаправленый список... нужен двунаправленый по заданию... в прикреплёном архиве все файлы проекта... Прикрепленные файлы ![]() |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата очень глЮпый вопрос, а где тут двунаправленость?) Точно там же, где и предложенное мной выше разделение на данные/указатели... Ты ж этого не сделал?Если б ты все-таки отделил данные от указателей pred/sled, то можно было бы элементарно отсортировать список без рекурсии, например так: procedure TForm1.Button7Click(Sender: TObject);, но поскольку ты пошел "другим путем" (С) - этот номер не пройдет... Кстати, проверь работу сортировки как следует... По-моему для двунаправленного списка она отрабатывает не совсем корректно: если ты захочешь после сортировки пробежать по списку в обратном направлении, тебя может ждать сюрприз... |
krox |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 19 Пол: Мужской Репутация: ![]() ![]() ![]() |
я немного не врубился... если используем рекурсию в коде, то при сортировке двунаправленого списка разве не нужна ссылка на предыдущий элемент в этом коде?
procedure TForm1.Button7Click(Sender: TObject); у нас не спрашива.т разделение на данные и указатели, точнее, так не надо делать... препод ничего насчёт этого не говорил... в коде выше как двунаправленость засунуть?) |
![]() ![]() |
![]() |
Текстовая версия | 8.09.2025 11:55 |