2014-12-04 1 views

ответ

1

структура данных

простой ассоциативный массив будет делать работу

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 
+0

Спасибо за ваш ответ. Ответ верен, но как мы можем хранить элемент в дереве, если уровень дерева и дочерние узлы являются динамическими. –

Смежные вопросы