Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Задача о связанном списке, Просто интересная задача 
:(
    Опции темы
Dark Elf
  Дата 20.4.2009, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 576
Регистрация: 26.12.2003
Где: Брисбен

Репутация: 1
Всего: 10



Добрый день

Есть следующая задача:

1. Имеется связанный список с неизвестным нам количеством элементов.
2. У каждого элемента списка имеется метод Next
3. Элементы этого списка могут ссылаться друг на друга в произвольном порядке.
4. Последний элемент этого списка равен NULL
5. ID элемента определять по каким-то причинам нельзя

Вопрос состоит в следующем:

Как найти последний элемент?

(Сильно подозреваю что ответ простой но не могу понять как решать)



--------------------
PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
nworm
Дата 20.4.2009, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 502
Регистрация: 22.10.2005

Репутация: 4
Всего: 8



Это шутка?
Цитата

4. Последний элемент этого списка равен NULL


Цитата

Как найти последний элемент?


Код

printf("NULL");

PM MAIL WWW   Вверх
azesmcar
Дата 20.4.2009, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 1
Всего: 211



nworm

Скорее всего автор хотел сказать что Next последнего элемента равен 0.

Dark Elf
А в чем задача то?
Код

while ( node->next )
{
   node = node->next;
}

//нашли node

PM   Вверх
Earnest
Дата 20.4.2009, 19:29 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 7
Всего: 183



Действительно, либо связанный список, и тогда все элементы доступны по-порядку (какая разница, в каком).
Либо не связанный или не список.
В первом случае задача тривиальна, а во втором - просто не сформулирована.


--------------------
...
PM   Вверх
Dark Elf
Дата 20.4.2009, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 576
Регистрация: 26.12.2003
Где: Брисбен

Репутация: 1
Всего: 10



Цитата(Dark Elf @ 20.4.2009,  13:54)
3. Элементы этого списка могут ссылаться друг на друга в произвольном порядке.

То есть например "4-й" (условно) элемент может ссылать снова на "2-й" (условно) элемент.
Так мне сформулировали задачу.


--------------------
PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
ksnk
Дата 20.4.2009, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 7
Всего: 386



Dark Elf, Что такое 2 и 4-й элемент? Второй и четвертый, если идти по NEXT от начала списка? тогда это цикл - нарушение NULL'а в конце...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
azesmcar
Дата 20.4.2009, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 1
Всего: 211



Dark Elf

Что-то я не пойму о чем речь. Список либо конечный, либо циклический..
если конечный - тогда решение которое я написал, если циклический то это не решается ..т.е. решится если его исправить.
Цитата

То есть например "4-й" (условно) элемент может ссылать снова на "2-й" (условно) элемент.

в списке нет индексов, если 
"4-й" (условно) элемент может ссылать снова на "2-й"
то  это не 2-й а 5-ый smile 
PM   Вверх
Earnest
Дата 21.4.2009, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 7
Всего: 183



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


--------------------
...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1206 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.