以下是一个简单的PHP二叉树类的实例,包括创建节点、添加节点、遍历节点等功能。表格将展示类的基本用法和结果。
```php

class TreeNode {
public $value;
public $left;
public $right;
public function __construct($value) {
$this->value = $value;
$this->left = null;
$this->right = null;
}
}
class BinaryTree {
private $root;
public function __construct() {
$this->root = null;
}
public function insert($value) {
$newNode = new TreeNode($value);
if ($this->root === null) {
$this->root = $newNode;
} else {
$this->insertNode($this->root, $newNode);
}
}
private function insertNode($node, $newNode) {
if ($newNode->value < $node->value) {
if ($node->left === null) {
$node->left = $newNode;
} else {
$this->insertNode($node->left, $newNode);
}
} else {
if ($node->right === null) {
$node->right = $newNode;
} else {
$this->insertNode($node->right, $newNode);
}
}
}
public function inOrderTraversal($node = null) {
if ($node === null) {
$node = $this->root;
}
if ($node !== null) {
$this->inOrderTraversal($node->left);
echo $node->value . ' ';
$this->inOrderTraversal($node->right);
}
}
}
// 实例化二叉树
$binaryTree = new BinaryTree();
// 插入节点
$binaryTree->insert(50);
$binaryTree->insert(30);
$binaryTree->insert(20);
$binaryTree->insert(40);
$binaryTree->insert(70);
$binaryTree->insert(60);
$binaryTree->insert(80);
// 中序遍历
echo "



