求教大家,关于Java传引用的问题
/*为使代码容易理解,类中成员访问权限不设置成private*/
class TreeNode{
TreeNode lchild;
TreeNode rchild;
int data;
}
public class BinarySortTree {
private TreeNode root = null;
/*传入一个数组,根据数组内的值来创建一个二叉排序树(或称二叉搜索树)*/
public TreeNode createTree(int[] arrays){
for (int i=0; i<arrays.length; ++i){
insertNode(root, arrays[i]); 我的想法是循环执行一次之后root要有值,但是事实上没有
}
return root;
}
/*通过比对data值,来决定所需要插入节点的位置*/
public void insertNode(TreeNode node, int data){
if (node == null){
//如果节点为空,为"root"节点或者"叶子"节点
node = new TreeNode();
node.data = data;
node.lchild = null;
node.rchild = null;
}else{
//如果当前节点存在,即将它们做比较,看应该放在左子树还是右子树
if (node.data < data){
insertNode(node.rchild, data);
}else{
insertNode(node.lchild, data);
}
}
}