class ArrBinaryTree
package DataStructures.tree;
public class ArrBinaryTree {
private int[] arr;
public ArrBinaryTree(int[] arr){
this.arr = arr;
}
public void perOrder(){
this.perOrder(0);
}
public void infixOrder(){
this.infixOrder(0);
}
public void postOrder(){
this.postOrder(0);
}
public void perOrder(int index){
if (arr == null || arr.length == 0){
System.out.println("空,不能遍历");
}
System.out.println(arr[index]);
if ((index * 2 + 1) < arr.length){
perOrder(2 * index + 1);
}
if ((index * 2 + 2) < arr.length){
perOrder(2 * index + 2);
}
}
public void infixOrder(int index){
if (arr == null || arr.length == 0){
System.out.println("空,不能遍历");
}
if ((index * 2 + 1) < arr.length){
infixOrder(2 * index + 1);
}
System.out.println(arr[index]);
if ((index * 2 + 2) < arr.length){
infixOrder(2 * index + 2);
}
}
public void postOrder(int index){
if (arr == null || arr.length == 0){
System.out.println("空,不能遍历");
}
if ((index * 2 + 1) < arr.length){
postOrder(2 * index + 1);
}
if ((index * 2 + 2) < arr.length){
postOrder(2 * index + 2);
}
System.out.println(arr[index]);
}
}