尝试打印订单和订单,但不知道该怎么做

时间:2019-03-07 23:02:44

标签: java

我正在尝试学习如何在二叉树中打印,并且我了解如何进行预订,但是无法弄清楚如何进行邮寄和订购。我了解他们之间的区别,但不知道如何实现。

int key ;
Node left ;
Node right ;

public Node ( int x ) {
    payload = x ; 
}

public void printPreorder() {
    System.out.println(this.key);
    if (left != null) {
        this.left.printPreorder();
    }
    if (right != null) {
        this.right.printPreorder();
    }
}

public void printPostorder() {

}

public void printInorder() {
    System.out.println(this.key);   
}

}

2 个答案:

答案 0 :(得分:0)

很容易,只需向下移动打印语句即可。一次订购,两次订购。

与Java无关,但与递归有关。在预订时,您需要做的是:从root开始打印,向左走,打印。向左走,直到可以打印所有内容。然后开始右转并在每个步骤打印。通过这种解释,试图弄清楚在我解释的其他两种情况下会发生什么。只是尝试叙述一下我写的内容,您应该就能理解。

答案 1 :(得分:0)

所以我注意到您的inOrder方法存在问题

public void printInorder() {
    if (left != null) {
        this.left.printInOrder();
    }
    System.out.println(this.key);
    if (right != null) {
        this.right.printInOrder();
    }
}

对,因为您要按顺序从低到高打印。向左打印,向我打印,然后向右打印。