![]() |
|
|
![]()
|
|
| XPurple |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 4.5.2006 Где: Челябинск Репутация: нет Всего: 1 |
Не могу понять алгоритма построения FileTree (дерева файлов), начиная от корня и ниже.
Вывести "Гладкий" список файлов, используя рекурсивный метод, получается. Но дальше затык. Не могу понять: как привязать глубину хранения файла для передаваемой в качестве значения рекурсивной функции. Требуется построить что-типа этого --->DIR1- |---- |---- --->DIR2- |----DIR3- | |----DIR4 | |----DIR5- |---File1 --->DIR6 и т.д. --------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего. Не помню, кто сказал, может быть, я (с) |
|||
|
||||
| Aloha |
|
|||
|
. ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 351 Регистрация: 14.5.2006 Репутация: 4 Всего: 165 |
XPurple
Есть такой TreeView control, который отображает список узлов (Node Objects) в иерархическом виде. Глянь в сторону объектной модели Node, возможно это подскажет решение проблемы. Узлы Node имеют в частности такие свойства: Root - это свойство возвращает ссылку на корневой узел; Parent - это свойство возвращает ссылку на родительский узел данного узла; Child - это свойство возвращает ссылку на первый дочерний узел данного узла; Children - это свойство возвращает количество дочерних узлов данного узла; У каждого родительского узла понятное дело может быть несколько дочерних узлов (а может и не быть). Следующие свойства определяют взаиморасположение дочерних узлов некоего родительского узла: Next - это свойство возвращает ссылку на следующий (сестринский) узел; Previous - это свойство возвращает ссылку на предыдущий (сестринский) узел; FirstSibling - это свойство возвращает ссылку на первый (сестринский) узел; LastSibling - это свойство возвращает ссылку на последний (сестринский) узел. Это сообщение отредактировал(а) Aloha - 15.2.2007, 23:00 |
|||
|
||||
| XPurple |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 4.5.2006 Где: Челябинск Репутация: нет Всего: 1 |
Хорошо.
Посмотрим --------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего. Не помню, кто сказал, может быть, я (с) |
|||
|
||||
| Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 1 Всего: 39 |
Добавляете дополнительный параметр в вашу рекурсивную функцию - глубина.
При вызове очередном рекурсивном вызове (передаете в функцию значение данного параметра, увеличенное на единицу), в зависимости от этого параметра, выводите необходимое число пробелов перед вашим |---- |
|||
|
||||
| XPurple |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 4.5.2006 Где: Челябинск Репутация: нет Всего: 1 |
Не все так просто.
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего. Не помню, кто сказал, может быть, я (с) |
|||
|
||||
| Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 1 Всего: 39 |
||||
|
||||
| XPurple |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 4.5.2006 Где: Челябинск Репутация: нет Всего: 1 |
проблема в том, что я не знаю, как определить степень вложенности относительно корня.
Например: Root 1 2 3 4 2 Как определить степень вложенности относительно корня последней директории ? 1,2,3,4 это степени вложенности директорий В таком виде пока выводится:
Это сообщение отредактировал(а) XPurple - 19.2.2007, 12:23 --------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего. Не помню, кто сказал, может быть, я (с) |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |