posts - 0,comments - 0,trackbacks - 0
#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)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航:   博客园   博客园最新博文   博问   管理