【发布时间】:2015-06-25 14:42:27
【问题描述】:
我正在尝试创建一个从文本文件创建的通用二叉树。我正在寻找最好的方法并正确地这样做并且已经尝试过。在我的第一种方法中,BinaryTree(Scanner) 是从与文件绑定的扫描仪创建树的方法。然后 leftInsert() 向左插入, rightInsert() 向右插入,我希望这些也是正确的。但我不确定如何正确制作文本文件以便制作树。
文本文件:
A
B
C
D
E
F
通用二叉树类:
import java.util.*;
import java.io.*;
import org.w3c.dom.Node;
private class Nodes<E> {
public E value;
public Nodes<E> leftChild;
public Nodes<E> rightChild;
public Nodes(E value) {
leftChild = null;
rightChild = null;
this.value = value;
}
}
public class BinaryTree<E> {
private Node root;
// biggest issue here
public BinaryTree(Scanner){
// reads a file to create a tree
}
public void leftInsert(Nodes<E> Node, E value) {
if ((value).compareTo(Node.value) < 0) {
if (Node.leftChild == null) {
Node.leftChild = new Nodes<E>(value);
} else {
leftInsert(Node.leftChild, value);
}
}
}
public void rightInsert(Nodes<E> Node, E value) {
if ((value).compareTo(Node.value) >= 0) {
if (Node.rightChild == null) {
Node.rightChild = new Nodes<E>(value);
} else {
rightInsert(Node.rightChild, value);
}
}
}
}
【问题讨论】:
-
如,您希望能够读取该文字并从中生成一棵树?
-
如果这是从文本文件中创建树的唯一方法,那么可以。或者有更简单的方法吗?
-
好吧.. 做点什么 :) 这很有趣!
-
没有做泛型或大量 Java 风格的 get/set 封装,告我!
标签: java algorithm generics binary-tree java.util.scanner