
package tree;
//顺序存储二叉树
public class ArrBinaryTreeDemo {
public static void main(String[] args) {
int[] arr = {1,2,3,4,5,6,7};
ArrBinaryTree a = new ArrBinaryTree();
a.preOrder(0, arr);//1,2,4,5,3,6,7
}
}
class ArrBinaryTree{
//前序遍历数组
public void preOrder(int index,int[] arr) {
//检验数组是否为null,或【】
if(arr == null || arr.length == 0) {
System.out.println("数组为空");
}
//输出当前元素
System.out.println(arr[index]);
//向左递归遍历
if((index * 2 + 1) < arr.length) {
preOrder(2 * index +1,arr);
}
//向右递归遍历
if((index * 2 + 2) < arr.length) {
preOrder(index * 2 + 2,arr);
}
}
}