亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

php二叉樹怎樣處理異常

PHP
小樊
82
2024-10-17 19:41:03
欄目: 編程語言

在PHP中,處理二叉樹異常的方法與處理其他類型的異常類似。你需要使用try-catch語句來捕獲和處理異常。以下是一個簡單的PHP二叉樹類示例,其中包含了異常處理:

class TreeNode {
    public $value;
    public $left;
    public $right;

    public function __construct($value) {
        $this->value = $value;
        $this->left = null;
        $this->right = null;
    }
}

class BinaryTree {
    public $root;

    public function __construct() {
        $this->root = null;
    }

    public function insert($value) {
        $this->root = $this->insertNode($this->root, $value);
    }

    private function insertNode($node, $value) {
        if ($node === null) {
            return new TreeNode($value);
        }

        if ($value < $node->value) {
            $node->left = $this->insertNode($node->left, $value);
        } elseif ($value > $node->value) {
            $node->right = $this->insertNode($node->right, $value);
        } else {
            throw new Exception("Duplicate value not allowed: " . $value);
        }

        return $node;
    }

    public function inOrderTraversal($node) {
        if ($node !== null) {
            $this->inOrderTraversal($node->left);
            echo $node->value . " ";
            $this->inOrderTraversal($node->right);
        }
    }
}

$tree = new BinaryTree();
$tree->insert(50);
$tree->insert(30);
$tree->insert(20);
$tree->insert(40);
$tree->insert(70);
$tree->insert(60);
$tree->insert(80);

try {
    echo "In-order traversal of the binary tree is: ";
    $tree->inOrderTraversal($tree->root);
    echo PHP_EOL;
} catch (Exception $e) {
    echo "Error: " . $e->getMessage() . PHP_EOL;
}

在這個示例中,我們創建了一個簡單的二叉搜索樹(BST)。insertNode方法在插入新值時檢查重復值。如果發現重復值,它將拋出一個異常。我們在inOrderTraversal方法中使用try-catch語句捕獲異常,并在發生異常時輸出錯誤消息。

0
原阳县| 潜江市| 慈利县| 耿马| 湄潭县| 保康县| 尤溪县| 澜沧| 青冈县| 贵阳市| 呼伦贝尔市| 明星| 绥中县| 辰溪县| 剑河县| 天祝| 马公市| 通化市| 镇赉县| 泽州县| 望江县| 沂水县| 什邡市| 浪卡子县| 凤台县| 于都县| 樟树市| 扎鲁特旗| 黄平县| 博爱县| 通化县| 逊克县| 温州市| 凉山| 安福县| 翁牛特旗| 叶城县| 鄂托克前旗| 马关县| 崇文区| 七台河市|