05---二叉树---20195106100---李遂勋.c

#include<stdio.h>/*头文件*/
#include<stdlib.h>
//定义二叉树结构体
typedef struct BiTNode
{
    char data;
    struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
void PreOrderTraverse(BiTree T)//二叉树的先序遍历
{
    if(T==NULL)
        return ;   
    printf("%c ",T->data);
    PreOrderTraverse(T->lchild);
    PreOrderTraverse(T->rchild);
}
//建立二叉树(按先序方式输入)
void CreateBiTree(BiTree *T)
{
    char ch;
  
    scanf("%c",&ch);
    if(ch=='0')/*输入0表示空节点*/
        *T=NULL;
    else
    {
        *T=(BiTree  )malloc(sizeof(BiTNode));
        if(!*T)
            exit(-1);
        (*T)->data=ch;
        CreateBiTree(&(*T)->lchild);
        CreateBiTree(&(*T)->rchild);
    }
}
//主函数
int main()
{
    BiTree T;
    CreateBiTree(&T);
    PreOrderTraverse (T);

    return 0;
}
原文地址:https://www.cnblogs.com/ztguang/p/14199872.html