用java写一个二叉树
时间: 2023-02-05 08:11:48 浏览: 14
当然,这是一个二叉树的简单示例:
```
public class BinaryTree {
private Node root;
public BinaryTree() {
root = null;
}
public void insert(int data) {
root = insert(root, data);
}
private Node insert(Node node, int data) {
if (node == null) {
node = new Node(data);
} else {
if (node.getRight() == null) {
node.right = insert(node.right, data);
} else {
node.left = insert(node.left, data);
}
}
return node;
}
public void inorder() {
inorder(root);
}
private void inorder(Node r) {
if (r != null) {
inorder(r.getLeft());
System.out.print(r.getData() + " ");
inorder(r.getRight());
}
}
}
class Node {
int data;
Node left;
Node right;
public Node(int data) {
this.data = data;
left = null;
right = null;
}
public int getData() {
return data;
}
public Node getLeft() {
return left;
}
public Node getRight() {
return right;
}
}
```
在这个示例中,我们定义了一个 `BinaryTree` 类,它具有根节点和插入节点的方法。 我们还定义了一个 `Node` 类,表示二叉树中的节点,每个节点都有一个数据值和两个指针(左指针和右指针)指向其子节点。
要创建二叉树并向其插入节点,可以使用以下代码:
```
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);
```
要遍历二叉树并打印其中的节点,可以使用以下代码:
```
tree.inorder();
```
这将以中
阅读全文