inserting in binary tree doesn't work using java

前端 未结 2 409
梦毁少年i
梦毁少年i 2021-01-27 03:43

I\'m currently learning about trees using java and i have some errors going on here in the insertion of items in a binary tree I don\'t why it doesn\'t work

this is the

2条回答
  •  爱一瞬间的悲伤
    2021-01-27 04:30

    root is always null because you never assign value to it.

    you can add to the beginning of your method check and assign it

    public TNode insertNode(TNode item, int d){
        if(item == null){
            TNode node = new TNode(d);
            if (root == null) { 
                root = node;
            }
            return node
        }
        ... rest of method isn't changed...
    

    Also when you are recursing you should make a call with a proper child node instead of always calling with item, so for example first case would be:

        item.left = insertNode(item.left, d);
    

    For second case you would just use item.right instead.

提交回复
热议问题