详细看注释:
import java.io.*;
import javax.swing.JOptionPane;
import java.util.*;
/**
* 功能:读入文件里的数据存入二叉树中,然后进行3种方式的遍历
*
* 参考资料0:数据结构(C语言版)严蔚敏
*/
/**
* 外部类:节点
*
* @author ocaicai@yeah.net @date: 2011-5-17
*
*/
class Node {
Node leftChild;
Node rightChild;
int data;
Node(int newData) {
leftChild = null;
rightChild = null;
data = newData;
}
}
class BinTreeTraverse{
List<Node> nodeList = null;
public void createBinTree(int array[],int array_length) {
nodeList = new LinkedList<Node>();
// 将一个数组的值依次转换为Node节点
for (int nodeIndex = 0; nodeIndex < array_length; nodeIndex++) {
nodeList.add(new Node(array[nodeIndex]));
}
// 对前lastParentIndex-1个父节点按照父节点与孩子节点的 数字关系 建立二叉树
for (int parentIndex = 0; parentIndex < array_length / 2 - 1; parentIndex++) {
nodeList.get(parentIndex).leftChild = nodeList.g