排序的二叉树,陷入循环(递归)

时间:2018-09-14 14:25:42

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

private void createSortedBT2(int index, BinaryTree<Country> cNode){
    if(index >= 0){
        if(db.getCountry(index).isLess(cNode.getContent())){
            if(cNode.getLeftTree().isEmpty()){
                cNode.getLeftTree().setContent(db.getCountry(index));
            }else{
                createSortedBT2(index, cNode.getLeftTree());
            }
        }else if(db.getCountry(index).isGreater(cNode.getContent())){
            if(cNode.getRightTree().isEmpty()){
                cNode.getRightTree().setContent(db.getCountry(index));
            }else{
                createSortedBT2(index, cNode.getRightTree());
            }
        }
        createSortedBT2(index-1, bt);
    }
}

您好,我想知道为什么此方法陷入循环。我正在使用一个IDE,在这里我可以检查BinaryTree及其所有内容的正确位置,但是以某种方式卡住了。它也没有显示任何stackoverflow或nullpointerexceptions。 index初始化为18,cNode的根为空(db是一个数组,并且所有方法都可以工作)。 (我知道树是不平衡的,但这还是我们应该要做的任务。)

0 个答案:

没有答案