|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.08.2012, 17:42 | #1 |
Регистрация: 20.08.2012
Сообщений: 4
|
Создание объекта-дерева
Подскажите, пожалуйста, как преобразовать список из файлов и папок (гарантируется, что они описывают дерево с одним корнем - корневой директорией) в объект-дерево?
В первой строке n -общее количество файлов и директорий. В каждой из следующих строк - полный путь к файлу или директории, пробел и идентификатор файла или директории. Идентификаторы упорядочены по возрастанию. пример списка: tree[0]= "13"; tree[1]= ". 0"; tree[2]= "./download_client.sh 1"; tree[3]= "./random100_queries_sport.txt 2"; tree[4]= "./times.txt 3"; tree[5]= "./site 4"; tree[6]= "./site/site_kz_domains_random1000_2011-07-26.txt 5"; tree[7]= "./site/site_ru_domains_top1000_2011-07-26.txt 6"; tree[8]= "./site/site_by_domains_top1000_2011-07-27.txt 7"; tree[9]= "./site/kz 8"; tree[10]="./site/kz/random1000 9"; tree[11]="./site/kz/random1000/site_kz_random100_2011-07-16.xml 10"; tree[12]="./site/ru 11"; tree[13]="./site/ru/random100 12"; |
22.08.2012, 07:33 | #2 |
Форумчанин
Регистрация: 02.06.2011
Сообщений: 282
|
ну можно прям в лоб. наверное долго, если много вложений, но зато просто реализовать. "./" это как я понял корень. берем все строки от 2 до 13 в цикле. парсим каждую строку так:
изначально tree[11]="./site/kz/random1000/site_kz_random100_2011-07-16.xml 10"; отсекаем "./", остается "site/kz/random1000/site_kz_random100_2011-07-16.xml 10" отсекаем до первого слеша на две части, получим: "site" и "kz/random1000/site_kz_random100_2011-07-16.xml 10" создаем в корне потомка с именем "site", если его еще нет, и перемещаемся туда. парсим дальше: "kz" и "random1000/site_kz_random100_2011-07-16.xml 10" создаем в потомке "site" потомка "kz", если его там еще нет, перемещаемся туда. и так до тех пор, пока в строке не останется "site_kz_random100_2011-07-16.xml 10" отсекаем нафиг "10" и создаем лист с именем "site_kz_random100_2011-07-16.xml" вроде все. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание и заполнение B+ дерева (Paskal) | Bloodwhip | Помощь студентам | 2 | 30.07.2012 17:12 |
[C++] Создание дерева, хранящегося в xml файле | branbranzor | Помощь студентам | 0 | 19.05.2012 08:57 |
[Java] Создание объекта внутри объекта этогоже класса. | Svarogich | Помощь студентам | 2 | 01.08.2011 16:03 |
Создание и обход дерева | jonni2008 | Общие вопросы .NET | 1 | 12.11.2010 06:05 |
создание бинарного дерева | zetrix | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 30.11.2006 19:32 |