BSTNodes的左右元素为空。您需要先创建它们,然后再插入其中。否则,它们将创建一个空的悬挂BSTNode()并将其插入,而不连接到树的其余部分。
您可以更改线,
if ( elem.compareTo( root.element ) < 0 ) { insertR( root.left, elem ); } else { insertR( root.right, elem ); }
至
if ( elem.compareTo( root.element ) < 0 ) { if ( root.left == null ) root.left = new BSTNode( elem ); else insertR( root.left, elem ); } else { if ( root.right == null ) root.right = new BSTNode( elem ); else insertR( root.right, elem ); }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)