下面是一段基本的Java二叉树代码:

class Node {
    int data;
    Node left;
    Node right;
    
    public Node(int data) {
        this.data = data;
        left = null;
        right = null;
    }
}

class BinaryTree {
    Node root;
    
    public BinaryTree() {
        root = null;
    }
    
    // 插入节点
    public void insert(int data) {
        root = insertHelper(root, data);
    }
    
    private Node insertHelper(Node root, int data) {
        if (root == null) {
            root = new Node(data);
            return root;
        }
        
        if (data < root.data) {
            root.left = insertHelper(root.left, data);
        } else if (data > root.data) {
            root.right = insertHelper(root.right, data);
        }
        
        return root;
    }
    
    // 中序遍历
    public void inOrder() {
        inOrderHelper(root);
    }
    
    private void inOrderHelper(Node root) {
        if (root != null) {
            inOrderHelper(root.left);
            System.out.print(root.data + " ");
            inOrderHelper(root.right);
        }
    }
    
    // 前序遍历
    public void preOrder() {
        preOrderHelper(root);
    }
    
    private void preOrderHelper(Node root) {
        if (root != null) {
            System.out.print(root.data + " ");
            preOrderHelper(root.left);
            preOrderHelper(root.right);
        }
    }
    
    // 后序遍历
    public void postOrder() {
        postOrderHelper(root);
    }
    
    private void postOrderHelper(Node root) {
        if (root != null) {
            postOrderHelper(root.left);
            postOrderHelper(root.right);
            System.out.print(root.data + " ");
        }
    }
}

public class Main {
    public static void main(String[] args) {
        BinaryTree tree = new BinaryTree();
        
        // 插入节点
        tree.insert(50);
        tree.insert(30);
        tree.insert(20);
        tree.insert(40);
        tree.insert(70);
        tree.insert(60);
        tree.insert(80);
        
        // 中序遍历
        System.out.println("InOrder Traversal: ");
        tree.inOrder();
        
        // 前序遍历
        System.out.println("\nPreOrder Traversal: ");
        tree.preOrder();
        
        // 后序遍历
        System.out.println("\nPostOrder Traversal: ");
        tree.postOrder();
    }
}
``
用java语言写一段二叉树的代码

原文地址: https://www.cveoy.top/t/topic/eIas 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录