Chinaunix首页 | 论坛 | 博客
  • 博客访问: 628058
  • 博文数量: 90
  • 博客积分: 803
  • 博客等级: 准尉
  • 技术积分: 1041
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-24 13:42
文章分类

全部博文(90)

文章存档

2020年(4)

2019年(4)

2018年(9)

2017年(11)

2016年(11)

2015年(6)

2014年(3)

2013年(28)

2012年(14)

分类: PHP

2020-08-20 18:58:58


点击(此处)折叠或打开

  1. class Node {
  2.     public $left = null;
  3.     public $right = null;
  4.     public $data = '';
  5.     public function __construct($data)
  6.     {
  7.         $this->data = $data;
  8.     }
  9. }

点击(此处)折叠或打开

  1. public function actionTree() {
  2.         //根节点
  3.         $root = new Node('10');
  4.         $b = new Node('6');
  5.         $c = new Node('11');
  6.         $d = new Node('4');
  7.         $e = new Node('7');
  8.         $f = new Node('13');

  9.         $root->left = $b;
  10.         $root->right = $c;

  11.         $b->left = $d;
  12.         $b->right = $e;
  13.         $c->right = $f;

  14.         $this->preOrder($root);
  15.         $this->inOrder($root);
  16.         $this->postOrder($root);
  17.     }
  18.     //前序遍历 根 左 右
  19.     private function preOrder($tree){
  20.         if($tree === null) {
  21.             return;
  22.         }
  23.         var_dump($tree->data);
  24.         $this->preOrder($tree->left);
  25.         $this->preOrder($tree->right);
  26.     }
  27.     //左 根 右
  28.     private function inOrder($tree) {
  29.         if($tree === null) {
  30.             return;
  31.         }
  32.         $this->inOrder($tree->left);
  33.         var_dump($tree->data);
  34.         $this->inOrder($tree->right);
  35.     }
  36.     //右 根 左
  37.     private function postOrder($tree) {
  38.         if($tree === null) {
  39.             return;
  40.         }
  41.         $this->postOrder($tree->right);
  42.         var_dump($tree->data);
  43.         $this->postOrder($tree->left);
  44.     }


阅读(357) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~