![]() |
маcсив-дерево
Уважаемые программисты!
Прошу совета в реализации алгоритма, из за которого уже голова кругом идет ) Имеется массив вида Код AS3:
Код AS3:
Я делал рекурсивно, но замкнулся на том, что не знаю как вложить массив в массив рекурсивно таким образом ) Производительность роли не играет, как и язык программирования, подойдут и несколько шаговые решения (например собирать в XML-строку которую потом переводить в массив). Нужен просто алгоритм, или статьи на эту тему, или может быть кто то решал уже подобную задачу? Может быть каким то образом оптимизировать исходный массив (данные лежат в базе в примерно таком виде), или на уровне SQL-запроса такое решить можно? Буду рад любому совету! |
Объявляем массив PARENT_IDS
Линейно перебираем в цикле по i ваши строки или, допустим объекты obj. Пишем PARENT_IDS[ obj [i].parent_id ] += obj [i].id+"," На выходе получаем массив ссылок: PARENT_IDS[ 0 ] = "1,5,7,9" PARENT_IDS[ 1 ] = "2,5" Далее по полученным данным в двух циклах строим ваше дерево. В общих чертах. Похоже? |
Весьма! ) Спасибо!
|
| Часовой пояс GMT +4, время: 02:29. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.