Как распечатать записи AVLTree в обходе предзаказа - PullRequest
0 голосов
/ 14 апреля 2019

Я пытаюсь распечатать объекты, хранящиеся в дереве AVL, с использованием функции обхода предзаказа, программа работает нормально, но не печатает обход пути предзаказа, а просто печатает объекты в том порядке, в котором они были вставлены в дерево. кто-нибудь может мне помочь с этим?

private AVLNode<AnyType> printPreorder(AVLNode<AnyType> t) {
        if (t == null)
            return null;

        /* first print data of node */
        System.out.print(t.element + " ");

        /* then recur on left sutree */
        printPreorder(t.left);

        /* now recur on right subtree */
        printPreorder(t.right);
        return null;

    }


    public AVLNode<AnyType> print() {
        return printPreorder(root);
    }

1 Ответ

0 голосов
/ 14 апреля 2019

Не включайте последний оператор return, используйте этот код:

private Void printPreorder(AVLNode<AnyType> t) 
{   
    if (t != null)
    {
        System.out.print(t.element + " ");
        printPreorder(t.left);
        printPreorder(t.right);
    }
}

public Void print() 
{
        printPreorder(root);
}

Дайте мне знать, если это поможет или нет.

...