先序遍历 中序遍历 后序遍历
<?php class Node{ public $l_child; public $r_child; public $var ; public function __construct($value){ $this->val = $value; } } function preTraverse(Node $root){ echo $root->val."<br/>"; if($root->l_child != null) preTraverse($root->l_child); if($root->r_child != null ) preTraverse($root->r_child); } function inTraverse(Node $root){ if($root->l_child != null) inTraverse($root->l_child); echo $root->val."<br/>"; if($root->r_child != null ) inTraverse($root->r_child); } function postTraverse(Node $root){ if($root->l_child != null) postTraverse($root->l_child); if($root->r_child != null ) postTraverse($root->r_child); echo $root->val."<br/>"; } $node1 = new Node(1); $node2 = new Node(2); $node3 = new Node(3); $node4 = new Node(4); $node5 = new Node(5); $node6 = new Node(6); $node7 = new Node(7); $node8 = new Node(8); $node1->l_child=($node2); $node1->r_child=($node3); $node2->l_child=($node4); $node2->r_child=($node5); $node3->l_child=($node6); $node4->l_child=($node7); $node4->r_child=($node8); postTraverse($node1);
遍历文件
header("Content-Type:text/html;charset=utf-8"); function ls_dir($dir){ if(substr($dir, -1) != "/"){ $dir = $dir."/"; } if(!is_dir($dir))return; /*处理 返回当前目录的文件目录*/ if(!is_readable($dir)){ echo "没有打开权限! ",$dir,"<br/>"; return; } $list = opendir($dir); while($file = readdir($list)){ if($file == "." or $file=="..") continue; echo $dir.$file,"<br/>"; ls_dir($dir.$file); } } ls_dir("/var/lib/mysql");