0

在此处输入图像描述

在这里,我附上了一张图片,它显示了树,我想像这样预订旅行

1,2,5,6,3,7,8,4,9,10,11。

我可以在 php 中为这种结构使用哪种数据结构?

4

1 回答 1

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
于 2014-12-04T05:46:46.223 回答