二叉树 创建遍历1

#include <stdio.h>
#include <stdlib.h>

typedef struct BiTNode
{
    char data;
    struct BiTNode *lchild, *rchild;
} BiTNode, *BiTree;

// 创建一颗二叉树, 约定用户遵照前序遍历的方式输入数据
CreateBiTree(BiTree *T)
{
    char c;

    scanf("%c", &c);
    if (' '==c)
    {
        *T = NULL;
    }
    else
    {
        *T = (BiTNode *)malloc(sizeof(BiTNode));
        (*T)->data = c;
        CreateBiTree (&(*T)->lchild);
        CreateBiTree (&(*T)->rchild);
    }
}
//访问二叉树节点的具体操作
visit(char c, int level)
{
    printf("%c is in %d level
", c, level);
}
// 遍历二叉树
PreOrderTraverse(BiTree T, int level)
{
    if (T)
    {
        visit(T->data,level);
        PreOrderTraverse(T->lchild,level+1);
        PreOrderTraverse(T->rchild,level+1);
    }
}

int main()
{
    int level = 1;
    BiTree T = NULL;

    CreateBiTree(&T);
    PreOrderTraverse(T,level);
}
原文地址:https://www.cnblogs.com/Kingpenguin/p/9948704.html