建立一个二叉树的顺序存储类,按照先序遍历的方式将二叉树存储起来。
public class BinaryTreeByArray {
int[] data;
public BinaryTreeByArray(int[] data){
this.data = data;
}
public void preOrder(){
preOrder(0);
}
public void preOrder(int index){
if (data == null || data.length == 0){
return;
}
//输出当前节点的内容
System.out.println(data[index]);
//遍历左子树
if (2 * index + 1 < data.length){
preOrder(2 * index + 1);
}
//遍历右子树
if (2 * index + 2 < data.length){
preOrder(2 * index + 2);
}
}
}
测试类,用于测试二叉树的顺序存储类。
public class TestBinaryTreeByArray {
public static void main(String[] args) {
int[] data = new int[]{1,2,3,4,5,6,7,8,9,0};
BinaryTreeByArray binaryTreeByArray = new BinaryTreeByArray(data);
binaryTreeByArray.preOrder();
}
}