注册 登录
编程论坛 数据结构与算法

有关二叉树的小问题

MyStar 发布于 2010-05-22 16:59, 701 次点击
#include <iostream>
using namespace std;
struct BiNode
{
char data;
BiNode *lchild ,*rchild;
};
BiNode *Creat()
{
    char ch;BiNode *root;
   
cin>>ch;
if(ch=='#') root=NULL;//建立一颗空树
else{
        root=new BiNode;
        root->data=ch;
        //cout<<root->data;
        root->lchild=Creat();//递归建立左子树
        root->rchild=Creat();//递归建立右子树
    }
return 0;
}

void output(BiNode *root)
{
    if(root!=NULL)
     cout<<root->data<<endl;
     output(root->lchild);
     output(root->rchild);
   
}
int main()
{
    BiNode *a;
    Creat();
    output(a);
    return 0;
}
程序不知怎么没输出结果!!!请大家指点一下!!谢谢

3 回复
#2
寒风中的细雨2010-05-22 17:50
#include <iostream>
using namespace std;

struct BiNode
{
char data;
struct BiNode *lchild ,*rchild;
};
BiNode *Creat()
{
    char ch;
    BiNode *root;
   
    cin>>ch;
    if(ch=='#')
        root=NULL;//建立一颗空树
    else
    {
        root=new BiNode;
        root->data=ch;
        //cout<<root->data;
        root->lchild=Creat();//递归建立左子树
        root->rchild=Creat();//递归建立右子树
    }
    return root;
}

void output(BiNode *root)
{
    if(root!=NULL)
    {
         cout<<root->data;
         output(root->lchild);
         output(root->rchild);
    }
   
}
int main()
{
    BiNode *a;
    a=Creat();
    output(a);
    cout<<endl;
    return 0;
}
只有本站会员才能查看附件,请 登录
#3
xichong2010-05-22 18:20
建立一棵二叉树就要返回它的根节点指针,表明这种数据类型被一个变量保存起来了,以后才可以继续使用。
#4
MyStar2010-05-22 20:03
谢谢啦!!
1