![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Двусвязанные и односвязанные списки
Эдик Дятлов © (2002-12-15 19:07:00)Привет всем !
Понимаю, что задаваемый вопрос слишком прост и примитивен,но просто ограничен во времени. Если сможете, то не пинайте и помогите ! :)
Нужен любой пример на тему "Циклические двусвязанные и односвязанные списки" или что-то подобное.
С УВАЖЕНИЕМ !!!
Sha (2002-12-15 23:39:00) [1]Ну, и я о том же.
Snap (2002-12-15 23:37:00) [2]>А чем цикл здесь нам поможет?
нет здесь должен помочь не цикл а 2х связанный список
Sha (2002-12-15 23:35:00) [3]>Snap © (15.12.02 23:29)
>а если элеметов много? или если нужна максимальная скорость?
А чем цикл здесь нам поможет?
Snap (2002-12-15 23:29:00) [4]>Sha © (15.12.02 21:20)
>Вот я и говорю, что в реальной жизни этого не надо.
>Просто начинаем новый обход с головы списка - вот и все
а если элеметов много? или если нужна максимальная скорость?
Sha (2002-12-15 23:24:00) [5]Жаль что нельзя попросить препода нашего студента не умничать по книжке, а привести конкретный пример...
Единственная возможная причина изобретения однонаправленного циклического
списка, которая приходит мне в голову,- это обеспечить возможность шагнуть назад
(против стрелки) в случае, если мы не знаем указателя на голову, а знаем только
текущий элемент, и, вдобавок, не можем ввести двунаправленность. Такое бывает?
По-правде, я немного схитрил, уж больно захотелось обсудить "цикличность".
На самом деле у меня самого иногда возникает желание создать фиктивный элемент
списка и указатели на голову/хвост списка хранить в этом фиктивном элементе.
Чем не циклический список? Как раз от этого хотелось предостеречь начинающих.
На первый взгляд кажется, что будет удобнее работать со списком - ведь один
элемент в нем всегда есть и, значит, реже придется проверять граничные условия.
Пару раз я так и делал. Оказалось неудобно. Приходится все время проверять
и держать в голове, с каким элементом работаем: фиктивным или настоящим.
Если программа написана давно, на понимание ее логики уходит слишком много сил.
Так что я выбор сделал: НЕТ - циклическим спискам, НЕТ - фиктивным элементам !!!
И не надо морочить головы студентов ерундой, им и без этого жить хорошо :)
Sha (2002-12-15 21:20:00) [6]Вот я и говорю, что в реальной жизни этого не надо.
Просто начинаем новый обход с головы списка - вот и все.
Suntechnic (2002-12-15 20:44:00) [7]>Sha © (15.12.02 20:37)
Ну если ты серьёзно, то можно пофантазировать. Например, имеем некий связанный список объектов. И, предположим, некий алгоритм должен выполнять периодические действия над этим списком, причём над всеми и поочереди. Почему бы не организовать этот связанный список в виде циклического связанного списка? Я не говорю, что это единственное решение, но почему бы и нет? Ты, например, часто в жизни двусвязанные списки использовал? Я нет, но тем не менее они имеются как часть структур данных. Точно так же и циклические списки.
Sha (2002-12-15 20:37:00) [8]Я серьезно. Списки (нециклические) и пишу и использую довольно часто. А вот циклические - для меня загадка уже много лет. Ни разу не слышал, чтобы они где-нибудь кому-нибудь хоть раз в жизни понадобились. Есть реальные примеры?
Suntechnic (2002-12-15 20:32:00) [9]>Sha © (15.12.02 20:29)
И где это может понадобиться?
Это ты на до мной так издеваешься? :))
А где может таблица умножения понадобится?
Это основы информатики связанные списки, деревья и т.д. и т.п.
Sha (2002-12-15 20:29:00) [10]>Suntechnic © (15.12.02 20:25)
И где это может понадобиться?
Suntechnic (2002-12-15 20:25:00) [11]>Sha © (15.12.02 19:45)
Это когда последний элемент списка ссылается на первый.
>Anatoly Podgoretsky ©
Тянет максимум на лабораторную, даже для "не компьютерных" специальностей :)
Sha (2002-12-15 20:24:00) [12]Давно-давно был у нас лектор, который говорил, что циклические - это здорово. Что можно по циклу ходить многократно. Только, что в них можно делать такого особенного, чем это лучше или удобнее обычных с головой и хвостом или без хвоста, сказать не мог. До сих пор их не использую - и ничего, все пучком.
Sha (2002-12-15 19:45:00) [13]Циклические - это как?
Anatoly Podgoretsky (2002-12-15 19:24:00) [14]Курсовая, лабораторная, зачет - Да?
DDi (2002-12-15 19:11:00) [15]А если поподробнее? Если я правильно тебя понял, то думаю можно согласовывать списки в одной процедуре/функции...