写个二叉树,用java
时间: 2024-03-01 21:25:50 浏览: 19
以下是一份基本的二叉树的Java代码示例:
```java
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
public class BinaryTree {
TreeNode root;
public BinaryTree() {
root = null;
}
public void insert(int val) {
root = insertNode(root, val);
}
private TreeNode insertNode(TreeNode root, int val) {
if (root == null) {
root = new TreeNode(val);
return root;
}
if (val < root.val) {
root.left = insertNode(root.left, val);
} else if (val > root.val) {
root.right = insertNode(root.right, val);
}
return root;
}
public void inorderTraversal() {
inorder(root);
}
private void inorder(TreeNode root) {
if (root != null) {
inorder(root.left);
System.out.print(root.val + " ");
inorder(root.right);
}
}
public static void main(String[] args) {
BinaryTree tree = new BinaryTree();
tree.insert(1);
tree.insert(2);
tree.insert(3);
tree.insert(4);
tree.insert(5);
System.out.print("Inorder traversal: ");
tree.inorderTraversal();
}
}
```
在这个示例中,我们定义了一个TreeNode类来表示二叉树节点。我们还定义了一个BinaryTree类来表示整个二叉树。我们使用insert()方法向二叉树中插入节点,并使用inorderTraversal()方法遍历整个二叉树。 最后,我们在main()方法中创建了一个新的BinaryTree对象,并添加了一些节点,然后遍历整个二叉树并打印结果。