java 泛型 实现二叉树
时间: 2023-11-22 22:06:00 浏览: 69
Java中可以通过使用泛型来实现二叉树。泛型可以用来指定二叉树节点的数据类型,使得二叉树可以存储不同类型的数据。下面是一个示例的二叉树的实现代码:
```java
public class BinaryTree<T> {
private Node<T> root;
private class Node<T> {
T data;
Node<T> left;
Node<T> right;
public Node(T data) {
this.data = data;
this.left = null;
this.right = null;
}
}
public void insert(T data) {
root = insert(root, data);
}
private Node<T> insert(Node<T> node, T data) {
if (node == null) {
return new Node<>(data);
} else {
if (data < node.data) {
node.left = insert(node.left, data);
} else {
node.right = insert(node.right, data);
}
return node;
}
}
public void inorderTraversal() {
inorderTraversal(root);
}
private void inorderTraversal(Node<T> node) {
if (node != null) {
inorderTraversal(node.left);
System.out.print(node.data + " ");
inorderTraversal(node.right);
}
}
}
```
在上面的代码中,我们使用了泛型类型`T`来表示二叉树节点的数据类型。`Node`类中的`data`字段的类型为`T`,表示节点存储的数据。`insert`方法用于插入新的节点,`inorderTraversal`方法用于中序遍历二叉树。
阅读全文