无法在二叉树Java数据结构中获得正确遍历的正确结果

时间:2017-06-05 16:18:35

标签: java data-structures binary-tree

我已经在二叉树数据结构中编写了预订和顺序遍历的代码,但是前序遍历的结果是正确的但我在顺序遍历中遇到了一些错误,任何人都可以在我的代码中向我显示错误。 提前谢谢。

public class treepractice {
static Node root = null;

static class Node{
    int data;
    Node left, right;
    Node(int d){
        data = d;
        left=right = null;
    }
}

public static void main(String[] agrs){
    treepractice tree = new treepractice();
    tree.root = new Node(1);
    tree.root.left = new Node(2);
    tree.root.right = new Node(3);
    tree.root.left.left = new Node(4);
    tree.root.left.right = new Node(5);
//  root.right.left = new Node(6);

    tree.printInorder(root);
    System.out.println();
    tree.printPreorder(root);
    System.out.println();

}



private static void printPreorder(Node root) {
    if(root == null)
        return;
        System.out.print(root.data + " ");
        printPreorder(root.left);
        printPreorder(root.right);
}

private static void printInorder(Node root) {
    if(root == null)
        return;
        printPreorder(root.left);
        System.out.print(root.data + " ");
        printPreorder(root.right);
}
}

2 个答案:

答案 0 :(得分:1)

您正在label[class=number]::before { counter-increment: section; content: counter(section) " " ; display: inline-block; color: white; width: 20px; background-color: black; text-align: center; padding-top: 1%; margin-left: 10px; padding-bottom: 1%; } label[class=number] { display: inline-block; margin-top: 20px; width: 345px; } #bestellen input[type=number], #bestellen input[type=text], select { width: 40px; margin-left: 102%; display: block; margin-top: -7%; border-color: skyblue; border-style: double; } input[type=range] { width: 40px; position: relative; margin-left: 102%; background-color: transparent; margin-top: -5%; display: block; } small { display: block; margin-left: 420px; margin-top: -1.5%; }调用<form id="bestellen" action="http://www.cs.tut.fi/cgi-bin/run/~jkorpela/echo.cgi"> <label class="number" id="David_Vann">David Vann - Aquarium: <input size="3" name="David_Vann" type="number" min="1"></label><small> Max. 10 exemplaren</small> <label class="number" id="Robert_Seethaler">Robert Seethaler - Een heel leven: <input size="3" name="Robert_Seethaler" type="text" pattern="[0-9]{2}"></label><small> Max. 99 exemplaren</small> <label id="Paula" class="number">Paula Hawkins - Het meisje in de trein: <input name="Paula_Hawkins" type="range" min="0" max="15" step="5" list="Paula_Hawkins"></label><small>Bestel 0, 5, 10 of 15 exemplaren</small> <datalist id="Paula_Hawkins"> <option value="0"> <option value="5"> <option value="10"> <option value="15"> </datalist> <label class="number" id="Ernest_van_der_kwast">Ernest van der Kwast - De ijsmakers: </label> <label id="ernest"> <input type="radio" name="Ernest van der kwast" value="1">1</label> <label id="ernest"> <input type="radio" name="Ernest van der kwast" value="10">10</label> <label id="ernest"> <input type="radio" name="Ernest van der kwast" value="20">20</label><br> <label class="number" id="Bert_natter">Bert Natter - Remington: <select name="Bert Natter"> <option value="geen">geen</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> </select> </label> </form> 方法,您必须致电printPreorder

printInorder

答案 1 :(得分:0)

在你的代码中,printInorder方法应该以递归方式调用相同的方法

/userChatRooms/$uid