yy852 发表于 2016-11-18 11:25

二叉树遍历递归算法

// 二叉树的遍历递归算法
#include<stdio.h>
#include<stdlib.h>

typedef char ElemType;
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位于第%d层\n",c,level);
}

PerOrderTraverse(BiTree T,int level) {      //先序遍历,中序遍历,后序遍历。只需把Visit()放到前中后即可。
        if(T) {
                Visit(T->data,level);
      PerOrderTraverse(T->lchild,level+1);               
                PerOrderTraverse(T->rchild,level+1);
               
        }
}

int main()
{
        int level = 1;
        BiTree T = NULL;
        CreateBiTree(&T);
        PerOrderTraverse(T,level);
        return 0;
}

刚学的,仅供参考哦。:keai

任驰骋 发表于 2016-11-18 11:51

反正我什么都不懂,你怎么说都崇拜

ddtt123 发表于 2016-12-22 15:51

lelandyang 发表于 2016-12-2 21:26
one mistake was found: PreOrderTraverse.sorry for replying in English. there are some problem wiyh ...

Could i know where are you from~

yy852 发表于 2016-11-18 12:03

任驰骋 发表于 2016-11-18 11:51
反正我什么都不懂,你怎么说都崇拜

谢谢你的支持。:keai

总有刁民想阴朕 发表于 2016-11-18 12:09

wattwei 发表于 2016-11-18 12:10

递归的写法太简单了

IWayne 发表于 2016-11-18 12:48

支持下 谢谢分享

羽幻倾城 发表于 2016-11-18 13:17

你不用发过来,到处是的……

yy852 发表于 2016-11-18 13:44

羽幻倾城 发表于 2016-11-18 13:17
你不用发过来,到处是的……

多谢你的提醒。我发过来也是为了让想看的人,方便查看。

yy852 发表于 2016-11-18 13:45

wattwei 发表于 2016-11-18 12:10
递归的写法太简单了

简单怎么了   不都是从新手过来的吗?

yy852 发表于 2016-11-18 13:46

总有刁民想阴朕 发表于 2016-11-18 12:09
新手应该看不懂吧

我就是新手啊,我就能看得懂。
页: [1] 2 3
查看完整版本: 二叉树遍历递归算法