Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / как реализовать дерево средствами stl / 4 сообщений из 4, страница 1 из 1
26.07.2006, 12:21
    #33879092
Borys
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как реализовать дерево средствами stl
Здраствуйте,
Нужно реализовать что-то типа модели дерева директорий и файлов. Для быстого поиска по пути, наверняка, нужно использовать map. Все должно быть реализовано как можно проще.

Если использовать map: первый элемент - строка (имя), а второй -- не могу придумать.
Код: plaintext
map<string, ...>

Можно определить класс CItem и использовать в качестве второго элемента пары.
Код: plaintext
map<string, CItem*>

От CItem унаследовать класс директории и класс файла. Класс директории и будет содержать свое поддерево. Но можно ли без этого обойтись и реализовать такую деревовидную структуру стандарныйми средствами stl.
...
Рейтинг: 0 / 0
26.07.2006, 16:48
    #33880284
Pavel Kilevatyh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как реализовать дерево средствами stl
Не уверен, что поможет - отреагировал на ключевое слово "дерево".
Посмотрите документацию по библиотеке boost. В частности the Boost Graph Library .

Возможно из пушки по воробъям, но будет полезно.
...
Рейтинг: 0 / 0
27.07.2006, 00:01
    #33880940
AndreiNz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как реализовать дерево средствами stl
Идея довольно проста. Каждый нод это list. А внутри него такие же ноды и листья. Осталось только правильно определить структуру классов и их наследования.
...
Рейтинг: 0 / 0
28.07.2006, 19:02
    #33886314
Borys
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как реализовать дерево средствами stl
Спасибо,
но, к сожалению, это не то (вернее не для моего случая). Дело в том, что на все дается около 250 строк кода (это не я придумал :-) ). Никакое дерево за такое количество строк вручную не реализуется. Сторонние библиотеки использовать нельзя.
Все, что я придумал для дерева каталогов - это мап, одномерный.

Код: plaintext
map<string, ItemType>
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / как реализовать дерево средствами stl / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]