Алгоритм сортировки списка смежности

У меня есть такой список смежности:

Бинарное дерево

Мне нужно отсортировать это по этому:
2, 7, 9, 10, 8, 16, 17, 11

Basiccaly У меня есть таблица, где я храню сообщения с родительскими идентификаторами. Я могу иметь неограниченное количество уровней.

Мне нужен только алгоритм или полный код на PHP.

Я пытался использовать варианты префиксов строк / столбцов и некоторые повторяющиеся функции.

-4

Решение

Хорошо, я наконец сделал это. Я был идиотом.

public function makeTree($parent_id = 0, &$array = array())
{
// Get results where parent_id == $parent_id
$recepts = $this->recept->get()->where("parent_id =" . $parent_id);
// Foreach through them
foreach ($recepts as $recept) {
// Add this to array
array_push($array, $recept);
// Repeat
$this->makeTree($recept["id"], $array);
}
return $array;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector