java顺序二叉树前序遍历代码实现

/**
 * @author Drug
 * @create 2020-05-02 13:03
 */
public class ArrayBinaryTree {
    public static void main(String[] args) {
        int[] arr= {1,2,3,4,5,6,7};
        ArrBinaryTree arrBinaryTree = new ArrBinaryTree(arr);
        arrBinaryTree.preOrder();
    }
}

class ArrBinaryTree{
    private int[] arr;

    public ArrBinaryTree(int[] arr) {
        this.arr = arr;
    }

    /**
     * 方法重载,不写参数默认从0遍历
     * @param 
     */
    public void preOrder(){
        this.preOrder(0);
    }


    /**
     * 遍历顺序二叉树
     * @param index
     */
    public void preOrder(int index){
        if(arr == null || arr.length==0){
            System.out.println("二叉树为空");
            return;
        }
        System.out.println(arr[index]);
        //遍历左边
        if(2*index+1<arr.length){
            preOrder(2*index+1);
        }
        //遍历右边
        if(2*index+2<arr.length){
            preOrder(2*index+2);
        }
    }

}

你可能感兴趣的:(java数据结构)