回 帖 发 新 帖 刷新版面

主题:c++二叉树问题,很简单,但是我找不出错误!!

这是我写的一个关于二叉树创建与遍历的C++程序,在VC++6.0中运行时不知道在哪里出了死循环,因为我本来不会deburg调试,所以希望那位高手给我解答一下:感激不尽!!
# include<iostream>
using namespace std;
struct treenode{
  int data;
  treenode * lchild,*rchild;
};

treenode * treecreate(treenode *root)
{
  root=new treenode;
  bool l,r;
  cout<<"请输入节点值:";
  cin>>root->data;
  cout<<"该节点有没有左节点?(如果有输入1,如果没有,输入0)";
  cin>>l;
  if(l) treecreate(root->lchild);
  else root->lchild=NULL;
  cout<<"该节点有没有右节点?(如果有,输入1,如果没有,输入0)";
  cin>>r;
  if(r) treecreate(root->rchild);
  else root->rchild=NULL;
  return root;
}//创建二叉树;
void viewnode(treenode *root)
{
  cout<<root->data<<"  ";
  if(root->lchild) viewnode(root->lchild);
  if(root->rchild) viewnode(root->rchild);
}//前序遍历二叉树;
int main()
{
  treenode * root;
  root=treecreate(root);
  viewnode(root);
  return 0;
}
[em10]

回复列表 (共2个回复)

沙发


现在上课去了,如果有问题的话请留言,请高手回答一下!!

板凳

看看先

我来回复

您尚未登录,请登录后再回复。点此登录或注册