二叉树的前序遍历为AB#D##C##

#include <stdio.h>

#include <stdlib.h>

typedef struct node

{

    char data;

    struct node *lchild;

    struct node *rchild;

}BiNode,*BiTree;

void createtree(BiTree *T) //前序种树

{

    char ch;

    scanf("%c",&ch);

    if(ch == '#')

        *T = NULL;

    else

    {

        *T = (BiTree)malloc(sizeof(BiNode));

        (*T)->data = ch;

        createtree(&(*T)->lchild);

        createtree(&(*T)->rchild);

    }

}

void preorder(BiTree T) //前序遍历

{

    if(T==NULL)

        return;


    printf("%c\n",T->data);

    preorder(T->lchild);

    preorder(T->rchild);

}

int main()

{

    BiTree T;

    createtree(&T);


    preorder(T);

}