二叉树文本分析

#include<stdio.h>
#include<stdlib.h>
typedef struct BiTNode
{
    char date[4];
    struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;

int creB(BiTree &Q)
{
    Q=new BiTNode;
    if(~scanf("%s",Q->date))
    {
        if(Q->date[0]=='#')
            Q=NULL;
        else
        {
            creB(Q->lchild);
            creB(Q->rchild);
        }
        return 1;
    }
    Q=NULL;
    return -1;
}
void priB(BiTree Q,int cur)
{
    if(Q==NULL)
        return;
    priB(Q->rchild,cur+1);
    for(int i=0;i<cur;i++)
        printf("    ");
    printf("%s
",Q->date);
    priB(Q->lchild,cur+1);
}

int main()
{
    BiTree Q;
    while(creB(Q)==1)
    {
        priB(Q,0);
        printf("
");
    }
    return 0;
}
原文地址:https://www.cnblogs.com/1328497946TS/p/11060291.html