国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php樹型類實例

2024-05-04 23:28:37
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了php樹型類,涉及數據結構與算法中的樹結構,實例相對簡單易懂,對于學習數據結構有一定的參考借鑒價值,需要的朋友可以參考下
 
 

本文實例講述了php樹型類。分享給大家供大家參考。具體分析如下:

該實例原理簡單,學過數據結構的一看就明白是什么道理了,不過今天在使用時數據中出現了子節點id(71)小于父節點id(104).導致部分子節點沒被存儲入數組,修改了一下,實例代碼如下:

復制代碼代碼如下:
<?php 
class tree 

    var $data = array(); 
    var $child = array(-1=>array()); 
    var $layer = array(-1=>-1); 
    var $parent = array(); 
    var $num = array(); 
  
    function setnode($id, $parent, $value,$num=0) 
    { 
        $parent = $parent ? $parent : 0; 
  
        $this->data[$id]  = $value; 
        $this->num[$id]      = $num; 
        if (!isset($this->child[$id])) $this->child[$id] = array(); 
        $this->child[$parent][] = $id; 
        $this->parent[$id]  = $parent; 
  
        if (!isset($this->layer[$parent]) && $parent == 0) 
        { 
           $this->layer[$id] = 0; 
        } 
        else 
        { 
            $this->layer[$id] = $this->layer[$parent] + 1; 
        } 
    } 
  
    function getlist(&$tree, $root= 0) 
    { 
        foreach ($this->child[$root] as $key=>$id) 
        { 
            $tree[] = $id; 
            if($this->child[$id]) $this->getlist($tree, $id); 
        } 
    } 
  
    function getvalue($id) 
    { 
   if($this->layer[$id]==0) 
   { 
    return $this->data[$id]; 
   } 
   else 
   { 
    return $leftmar.$this->data[$id]; 
   } 
    } 
  
    function getnum($id) 
    { 
   return $this->num[$id]; 
    } 
  
    function getbitvalue($id) 
    { 
   return $this->data[$id]; 
    } 
  
    function getlayer($id, $space = false) 
    { 
        return $space ? str_repeat($space, $this->layer[$id]) : $this->layer[$id]; 
    } 
  
    function getparent($id) 
    { 
        return $this->parent[$id]; 
    } 
  
    function getparents($id) 
    { 
        while ($this->parent[$id] != -1) 
        { 
            $id = $parent[$this->layer[$id]] = $this->parent[$id]; 
        } 
  
        ksort($parent); 
        reset($parent); 
  
        return $parent; 
    } 
  
    function getchild($id) 
    { 
        return $this->child[$id]; 
    } 
  
    function getchilds($id = 0) 
    { 
        $child = array($id); 
        $this->getlist($child, $id); 
  
        return $child; 
    } 
  
    function printdata() 
    { 
        return $this->layer; 
    } 

?>

 

希望本文所述對大家的PHP程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 门源| 伊春市| 顺平县| 丁青县| 加查县| 霍城县| 苍南县| 花垣县| 庄河市| 无棣县| 保靖县| 临海市| 高雄县| 富源县| 雅江县| 江永县| 麟游县| 平安县| 沂水县| 阜新市| 兴安县| 滁州市| 临泽县| 呼和浩特市| 天峨县| 罗江县| 冀州市| 莱阳市| 辉县市| 晋宁县| 平罗县| 甘泉县| 济宁市| 唐河县| 兰州市| 宜黄县| 阳东县| 谢通门县| 博湖县| 合江县| 瑞昌市|