我写了一个创建二叉树的程序,提示栈溢出,不知道为什么,曾样改正 谢谢
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++,我写了,运行不出错误,但是,根本无法遍历,左右字数都为空
在方法createBinaryTree中 无限递归调用造成的 i始终为零
不知道你是基于什么目的 不过在createBinaryTree(root.lefTree);前面加一行i++;可能是你的本意
你是怎么遍历的 发代码看下