您的位置:首页 > 理论基础 > 数据结构算法

二叉树的存储结构与前序遍历(中序/后序原理一样)

2015-07-16 08:46 316 查看
/*..............................

功能:二叉树的存储结构

      二叉树的前序遍历

时间:2015-07-16

人员:西瓜太郎

...........................*/

#include <stdlib.h>

#include <stdio.h>

typedef char ElementType;

typedef struct BiTNode

{

    ElementType data;

    struct BiTNode *lchild, *rchild;

}BiTNode, *BiTree;

//默认前序输入二叉树

void InitBiTree(BiTree *T)

{

    ElementType c;

    scanf("%c",&c);

    if(' ' == c)

    {

        (*T) = NULL;

    }

    else

    {

        (*T) = (BiTree )malloc(sizeof(struct BiTNode));

        (*T)->data = c;

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

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

    }

}

void visit(ElementType data, int leave)

{

    printf("结点:%c在第:%d层\n",data, leave);

}

void PreOrderTraverse(BiTree T,int leave)

{

    if( NULL != T)

    {

        visit(T->data, leave);

        PreOrderTraverse(T->lchild, leave + 1);

        PreOrderTraverse(T->rchild, leave + 1);

    }

}

int main()

{

    BiTree T;

    InitBiTree(&T);

    PreOrderTraverse(T,1);

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息