java二叉树代码怎么写

   2024-09-30 5210
核心提示:在 Java 中,可以使用类来表示二叉树节点和二叉树。下面是一个简单的二叉树实现:// 定义二叉树节点类class TreeNode {int value

在 Java 中,可以使用类来表示二叉树节点和二叉树。下面是一个简单的二叉树实现:

// 定义二叉树节点类class TreeNode {    int value; // 节点值    TreeNode left; // 左子节点    TreeNode right; // 右子节点    // 构造方法    public TreeNode(int value) {        this.value = value;        this.left = null;        this.right = null;    }}// 定义二叉树类class BinaryTree {    private TreeNode root; // 根节点    // 构造方法    public BinaryTree() {        root = null;    }    // 向二叉树中插入节点    public void insert(int value) {        if (root == null) {            root = new TreeNode(value);        } else {            insertRecursively(root, value);        }    }    // 递归插入节点    private void insertRecursively(TreeNode node, int value) {        if (value< node.value) {            if (node.left == null) {                node.left = new TreeNode(value);            } else {                insertRecursively(node.left, value);            }        } else {            if (node.right == null) {                node.right = new TreeNode(value);            } else {                insertRecursively(node.right, value);            }        }    }    // 中序遍历二叉树    public void inorderTraversal() {        inorderTraversalRecursively(root);        System.out.println();    }    // 递归中序遍历    private void inorderTraversalRecursively(TreeNode node) {        if (node != null) {            inorderTraversalRecursively(node.left);            System.out.print(node.value + " ");            inorderTraversalRecursively(node.right);        }    }}// 测试代码public class Main {    public static void main(String[] args) {        BinaryTree tree = new BinaryTree();        tree.insert(5);        tree.insert(3);        tree.insert(7);        tree.insert(2);        tree.insert(4);        tree.insert(6);        tree.insert(8);        System.out.println("中序遍历结果:");        tree.inorderTraversal();    }}

这个例子中,我们定义了一个 TreeNode 类来表示二叉树的节点,包含节点值、左子节点和右子节点。然后定义了一个 BinaryTree 类来表示二叉树,包含根节点和插入、中序遍历等操作方法。最后在 Main 类中进行测试,插入一些节点并进行中序遍历。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号