Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.26;
Скачать: CL | DM;

Вниз

Двусвязанные и односвязанные списки   Найти похожие ветки 

 
Эдик Дятлов   (2002-12-15 19:07) [0]

Привет всем !
Понимаю, что задаваемый вопрос слишком прост и примитивен,но просто ограничен во времени. Если сможете, то не пинайте и помогите ! :)
Нужен любой пример на тему "Циклические двусвязанные и односвязанные списки" или что-то подобное.
С УВАЖЕНИЕМ !!!


 
DDi   (2002-12-15 19:11) [1]

А если поподробнее? Если я правильно тебя понял, то думаю можно согласовывать списки в одной процедуре/функции...


 
Anatoly Podgoretsky ©   (2002-12-15 19:24) [2]

Курсовая, лабораторная, зачет - Да?


 
Sha ©   (2002-12-15 19:45) [3]

Циклические - это как?


 
Sha ©   (2002-12-15 20:24) [4]

Давно-давно был у нас лектор, который говорил, что циклические - это здорово. Что можно по циклу ходить многократно. Только, что в них можно делать такого особенного, чем это лучше или удобнее обычных с головой и хвостом или без хвоста, сказать не мог. До сих пор их не использую - и ничего, все пучком.


 
Suntechnic ©   (2002-12-15 20:25) [5]

>Sha © (15.12.02 19:45)
Это когда последний элемент списка ссылается на первый.

>Anatoly Podgoretsky ©
Тянет максимум на лабораторную, даже для "не компьютерных" специальностей :)



 
Sha ©   (2002-12-15 20:29) [6]

>Suntechnic © (15.12.02 20:25)
И где это может понадобиться?


 
Suntechnic ©   (2002-12-15 20:32) [7]

>Sha © (15.12.02 20:29)
И где это может понадобиться?

Это ты на до мной так издеваешься? :))
А где может таблица умножения понадобится?
Это основы информатики связанные списки, деревья и т.д. и т.п.


 
Sha ©   (2002-12-15 20:37) [8]

Я серьезно. Списки (нециклические) и пишу и использую довольно часто. А вот циклические - для меня загадка уже много лет. Ни разу не слышал, чтобы они где-нибудь кому-нибудь хоть раз в жизни понадобились. Есть реальные примеры?


 
Suntechnic ©   (2002-12-15 20:44) [9]

>Sha © (15.12.02 20:37)
Ну если ты серьёзно, то можно пофантазировать. Например, имеем некий связанный список объектов. И, предположим, некий алгоритм должен выполнять периодические действия над этим списком, причём над всеми и поочереди. Почему бы не организовать этот связанный список в виде циклического связанного списка? Я не говорю, что это единственное решение, но почему бы и нет? Ты, например, часто в жизни двусвязанные списки использовал? Я нет, но тем не менее они имеются как часть структур данных. Точно так же и циклические списки.


 
Sha ©   (2002-12-15 21:20) [10]

Вот я и говорю, что в реальной жизни этого не надо.
Просто начинаем новый обход с головы списка - вот и все.


 
Sha ©   (2002-12-15 23:24) [11]

Жаль что нельзя попросить препода нашего студента не умничать по книжке, а привести конкретный пример...

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

По-правде, я немного схитрил, уж больно захотелось обсудить "цикличность".
На самом деле у меня самого иногда возникает желание создать фиктивный элемент
списка и указатели на голову/хвост списка хранить в этом фиктивном элементе.
Чем не циклический список? Как раз от этого хотелось предостеречь начинающих.

На первый взгляд кажется, что будет удобнее работать со списком - ведь один
элемент в нем всегда есть и, значит, реже придется проверять граничные условия.
Пару раз я так и делал. Оказалось неудобно. Приходится все время проверять
и держать в голове, с каким элементом работаем: фиктивным или настоящим.
Если программа написана давно, на понимание ее логики уходит слишком много сил.

Так что я выбор сделал: НЕТ - циклическим спискам, НЕТ - фиктивным элементам !!!
И не надо морочить головы студентов ерундой, им и без этого жить хорошо :)


 
Snap ©   (2002-12-15 23:29) [12]

>Sha © (15.12.02 21:20)
>Вот я и говорю, что в реальной жизни этого не надо.
>Просто начинаем новый обход с головы списка - вот и все

а если элеметов много? или если нужна максимальная скорость?


 
Sha ©   (2002-12-15 23:35) [13]

>Snap © (15.12.02 23:29)
>а если элеметов много? или если нужна максимальная скорость?

А чем цикл здесь нам поможет?


 
Snap ©   (2002-12-15 23:37) [14]

>А чем цикл здесь нам поможет?

нет здесь должен помочь не цикл а 2х связанный список


 
Sha ©   (2002-12-15 23:39) [15]

Ну, и я о том же.



Страницы: 1 вся ветка

Текущий архив: 2002.12.26;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.022 c
14-86148
vopros
2002-12-06 13:19
2002.12.26
Прикол


1-85997
harismatik
2002-12-16 11:52
2002.12.26
Выбор узла в TTreeView


14-86147
Majk
2002-12-06 11:49
2002.12.26
списки


3-85814
Дмитрий К.К.
2002-12-05 12:33
2002.12.26
---|Ветка была без названия|---


3-85795
Wic42
2002-12-06 00:07
2002.12.26
Delphi6-DBF