Тема: Допоможіть із алгоритмом побудови дерева
От уже яку годину сиджу, і ніяк не можу придумати нормальний і дієвий алгоритм для побудови дерева з даних.
Отож. Є в мене два масиви:
Масив із індексами, та масив із іменами тек.
Масив із індексами
Array
(
[0] => 004
[1] => 004
[2] => 004
[3] => 021
[4] => 021
[5] => 014
[6] => 030
[7] => 039
[8] => 049
[9] => 056
)
Масив із назвами
Array
(
[0] => Розділ 1
[1] => Параграф 1
[2] => Завадання 1
[3] => Завадання 2
[4] => Параграф 2
[5] => Завадання 3
[6] => Завадання 4
[7] => Завадання 5
[8] => Завадання 6
[9] => Завадання 7
Що з того має вийти, та яка суть цього.
З цього має вийти таке собі дерево каталогів.
Зрозуміло, що "Розділ 1" - головна тека(але ці ж розділи мають міститися у одній єдиній теці, цих розділів може бути багато)
В теці "Розділ 1" має бути тека "Параграф 1" та "Параграф 2", а теці "Параграф 1" теки "Завадання 1" та "Завадання 2".(Ща має бути у теці "Параграф 2" думаю не варто пояснювати).
Тепер щодо індексів. Для чого вони взагалі. Тут вони якраз і мають допомогти мені зрозуміти, де має створюватися розділ, де параграф а де просто тека із завданнями.
Ото, візьмемо до прикладу перші три елементи масиву з індексами, бачимо що всі три значення співпадають між собою, тобто якщо підряд іде три однакових значення, це означає, що має створитися розділ, якщо два підряд однакових значення - параграф, і відповідно якщо тільки якесь одне значення тека із завданнями.
Отож, знаю завдання досить складне, але може хтось має якісь думки щодо такого ?
UPD: тобто результатом має бути список таких тек:
/Розділ1/Параграф1/Завдання1/
/Розділ1/Параграф1/Завдання2/
/Розділ1/Параграф1/Завдання3/
/Розділ1/Параграф1/Завдання4/
/Розділ1/Параграф1/Завдання5/