Здесь я прилагаю изображение, которое показывает дерево, я хочу путешествовать в предзаказе, как
1,2,5,6,3,7,8,4,9,10,11.
Какую структуру данных я могу использовать в php для этой структуры?
структура данных
простой ассоциативный массив сделает работу
array(2) {
["data"]=> int
["children"]=> array()
}
PHP
<?php
function makeTree($data, $children = array()) {
$tree = array();
$tree['data'] = $data;
$tree['children'] = $children;
return $tree;
}
function traverse($tree) {
echo $tree['data'] . "\n";
foreach($tree['children'] as $child) {
traverse($child);
}
}
$root = makeTree(1, array(
makeTree(2, array(makeTree(5), makeTree(6))),
makeTree(3, array(makeTree(7), makeTree(8))),
makeTree(4, array(makeTree(9), makeTree(10), makeTree(11)))
));
traverse($root);
результат
1
2
5
6
3
7
8
4
9
10
11
Других решений пока нет …