首页 > 解决方案 > 如何在预序遍历中打印 AVLTree 的条目

问题描述

我正在尝试使用 preorder Traversal 打印存储在 AVL 树中的对象,程序运行良好,但它不打印 preorder 遍历它只​​是按插入树的顺序打印对象。有人可以帮我吗?

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);
    }

标签: javaavl-tree

解决方案


不要包括最后一条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);
}

让我知道它是否有帮助。


推荐阅读