wcydiyi
2009-12-05 17:13 阅读 219
已采纳

如何创建二叉树

我写了一个创建二叉树的程序,提示栈溢出,不知道为什么,曾样改正 谢谢
package com.wcy.tree;

public class BinaryTree
{
private int data;
private BinaryTree lefTree;
private BinaryTree righTree;
public static int i=0;

 /*
  * 递归创建一个二叉树
  */
  public void createBinaryTree(BinaryTree root)
  { 
     if(i==4)
    {
        return;   
    }
    if(root==null)
    {
        root=new BinaryTree();
        root.data=i;
    }
    else 
    {
      root.data=i;    
    }

    createBinaryTree(root.lefTree);
    createBinaryTree(root.righTree);
  }

public static void main(String[] args)
{

    BinaryTree binaryTree=new BinaryTree();
    BinaryTree root=new BinaryTree();
    binaryTree.createBinaryTree(root);
    System.out.println(i);
}

}

[b]问题补充:[/b]
多谢那位大哥体提醒。程序中i++,我写了,运行不出错误,但是,根本无法遍历,左右字数都为空

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    lcf2025 lcf2025 2009-12-07 10:23

    在方法createBinaryTree中 无限递归调用造成的 i始终为零
    不知道你是基于什么目的 不过在createBinaryTree(root.lefTree);前面加一行i++;可能是你的本意

    点赞 评论 复制链接分享
  • lcf2025 lcf2025 2009-12-09 11:09

    你是怎么遍历的 发代码看下

    点赞 评论 复制链接分享

相关推荐