#include <bits/stdc++.h>
using namespace std;
//这里是采用了递归的方法
typedef struct node
{
int data;
struct node *lchild,*rchild;
}bnode,*btree;
void intree(btree <ree,int x)
{
if(ltree==NULL)
{
ltree=new bnode;//生成树的结点
ltree->data=x;//然后给结点赋值
ltree->lchild=NULL;
ltree->rchild=NULL;
}
else if(x<ltree->data)
{
intree(ltree->lchild,x);
}
else if(x>ltree->data)
{
intree(ltree->rchild,x);
}
}
void creattree(btree <ree)
{
ltree=NULL;
int x;
printf("请输入数据:");
cin>>x;
while(x!=0)
{
intree(ltree,x);
cin>>x;
}
}
void visit(btree ltree)//采用中序遍历的方式
{
if(ltree)
{
visit(ltree->lchild);
cout<<ltree->data<<" ";
visit(ltree->rchild);
}
}
int main()
{
btree ltree;
creattree(ltree);
visit(ltree);
//cout << "Hello world!" << endl;
return 0;
}