BST的有序遍历并将其添加到列表

时间:2018-10-01 14:37:09

标签: java recursion arraylist binary-search-tree inorder

我编写了以下代码,我认为参数存在问题。我似乎找不到。我正在使用具有.getLeftChild()等的自定义导入,因此应该很容易弄清楚。

  ArrayList<E> L = new ArrayList<E>();
    BTreeNode<E> n = T.getRoot();

   if(n==null) {
       return L;

   }else{

   sisäjärjestysKulku(n, L);   <---- refers to missing type <E>
   }
   return L;
}


private static void sisäjärjestysKulku(BTreeNode <E> n, ArrayList<E> L) { <--

    // base case:
    if (n == null) 
    return;
    // reduction:

    sisäjärjestysKulku(n.getLeftChild(), L);
    L.add(n.getElement());
    sisäjärjestysKulku(n.getRightChild(),L);

}

如何解决此问题使其起作用。在Eclipse给我错误的地方添加了箭头。我希望找到一种能够保持这种结构的解决方案。

1 个答案:

答案 0 :(得分:0)

似乎您在方法声明中错过了类型参数,请尝试:

private static <E> void sisäjärjestysKulku(BTreeNode<E> n, ArrayList<E> L) {