今天学习,把书上的代码自己边对照,边敲了一下。
package mytree;
import java.util.ArrayList;
import java.util.List;
/**
* 用父节点表示法表示一棵树。
*
* @author lirui
* @param <E>
*/
public class TreeParent<E> {
public static class Node<T> {
T data;
// 记录父节点的位置。
int parent;
public Node() {
}
public Node(T data) {
this.data = data;
}
public Node(T data, int parent) {
this.data = data;
this.parent = parent;
}
@Override
public String toString() {
return "TreeParent$Node[data=" + data + " , parent=" + parent + "]";
}
}
private final int DEFAULT_TREE_SIZE = 100;
private int treeSize = 0;
// 使用数Node[]组来记录树中所有节点。
private Node<E>[] nodes;
// 记录节点个数。
private int nodeNums;
// 以指定根节点创建树。
public TreeParent(E dataE) {
treeSize = DEFAULT_TREE_SIZE;
nodes = new Node[treeSize];
nodes[0] = new Node