<?php /** * @author YangHuan * @datetime * @version 1.0.0 */
/** * Short description. * * Detail description * @author * @version 1.0 * @copyright * @access public */ class Tree { /** * Description * @var * @since 1.0 * @access private */ var $data = array();
/** * Description * @var * @since 1.0 * @access private */ var $child = array(-1=>array());
/** * Description * @var * @since 1.0 * @access private */ var $layer = array(-1=>-1);
/** * Description * @var * @since 1.0 * @access private */ var $parent = array();
/** * Short description. * * Detail description * @param none * @global none * @since 1.0 * @access private * @return void * @update date time */ function Tree ($value) { $this->setNode(0, -1, $value); } // end func
/** * Short description. * * Detail description * @param none * @global none * @since 1.0 * @access private * @return void * @update date time */ function setNode ($id, $parent, $value) { $parent = $parent?$parent:0;
$this->data[$id] = $value; $this->child[$id] = array(); $this->child[$parent][] = $id; $this->parent[$id] = $parent;
if (!isset($this->layer[$parent])) { $this->layer[$id] = 0; } else { $this->layer[$id] = $this->layer[$parent] + 1; } } // end func
/** * Short description. * * Detail description * @param none * @global none * @since 1.0 * @access private * @return void * @update date time */ function getList (&$tree, $root= 0) { foreach ($this->child[$root] as $key=>$id) { $tree[] = $id;
if ($this->child[$id]) $this->getList($tree, $id); } } // end func
(编辑:焦作站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|