C二叉树先序建立

作者在 2011-05-16 23:22:49 发布以下内容
最近发现许多学生在使用先序创建二叉树时,总是说自己的程序进入了死循环不能退出,这里说明一下,如果你的程序类似于如下:
typedef struct TreeNode
{
 int data;
 struct TreeNode *Lchild,*Rchild;
}*Tree;
void CreateTree(Tree &t)
{
 int ch; 
 cout<<"输入结点数字:"<<endl;
 cin>>ch;
 if(ch==0)
  t=NULL;
 else
 {
  t=(Tree)new TreeNode;
  t->data=ch;
  CreateTree(t->Lchild);
  CreateTree(t->Rchild);
 }
}
那么就请你再在输入数据对你的程序进行测试之前,先在纸上写一下,看自己输入的测试数据能否构成二叉树,如果不能,自然就不行,当然看似是死循环,其实就是因为你输入的数据不能构成二叉树而已!
C编程经验 | 阅读 794 次
文章评论,共0条
游客请输入验证码
最新评论