#include<iostream>
using namespace std;
typedef struct BTNode
{
char data;
struct BTNode *lchild;
struct BTNode *rchild;
}BTNode;
void visit(BTNode *p)
{
cout<<p->data<<" ";
}
/*先序遍历*/
void preorder(BTNode *p)
{
if(p!=NULL)
{
visit(p);
preorder(p->lchild);
preorder(p->rchild);
}
}
/*中序遍历*/
void inorder(BTNode *p)
{
if(p!=NULL)
{
inorder(p->lchild);
visit(p);
inorder(p->rchild);
}
}
/*后序遍历*/
void postorder(BTNode *p)
{
if(p!=NULL)
{
postorder(p->lchild);
postorder(p->rchild);
visit(p);
}
}
void insert(BTNode *&p)
{
char x;
cin>>x;
if(x!='#')
{
p=(BTNode*)malloc(sizeof(BTNode));
p->lchild=NULL;
p->rchild=NULL;
p->data=x;
insert(p->lchild);
insert(p->rchild);
}
}
int main()
{
BTNode *p;
insert(p);
cout<<"先序遍历:";
preorder(p);
cout<<endl;
cout<<"中序遍历:";
inorder(p);
cout<<endl;
cout<<"后序遍历:";
postorder(p);
return 1;
}
posted on 2012-08-25 16:24
yyj 阅读(55)
评论(0) 编辑 收藏 引用