求教大家,关于Java传引用的问题

xiaoyao1212121 2014-03-13 10:38:38
/*为使代码容易理解,类中成员访问权限不设置成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);
}
}
}
...全文
108 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
rockets311 2014-03-16
  • 打赏
  • 举报
回复
每次都会进if (node == null)这个逻辑,那个else里的没执行。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧