/*
- 在顺序存储二叉树的时候,可以将二叉树与数组之间相互转换。
- 例如:第n个结点的左结点为2n+1,第n个结点的右结点为2n+2
- 父结点为(n-1)/2
*/
public class Main {
public static void main(String[] args) {
// TODO 自动生成的方法存根
int[] arr= {1,2,3,4,5,6,7};
ArrTree at=new ArrTree(arr);
at.pro(0);
}
}
class ArrTree{
private int[] arr;
public ArrTree(int[] arr) {
this.arr=arr;
}
public void pro(int index) {
if(arr==null||arr.length==0) {
System.out.println("数组为空,不能遍历");
return;
}
System.out.println(arr[index]);
if((index*2+1)<arr.length) {
pro(index*2+1);
}
if((index*2+2)<arr.length) {
pro(index*2+2);
}
}
}
运行结果: