二叉树遍历递归算法
// 二叉树的遍历递归算法#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
反正我什么都不懂,你怎么说都崇拜 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~ 任驰骋 发表于 2016-11-18 11:51
反正我什么都不懂,你怎么说都崇拜
谢谢你的支持。:keai 递归的写法太简单了 支持下 谢谢分享 你不用发过来,到处是的…… 羽幻倾城 发表于 2016-11-18 13:17
你不用发过来,到处是的……
多谢你的提醒。我发过来也是为了让想看的人,方便查看。 wattwei 发表于 2016-11-18 12:10
递归的写法太简单了
简单怎么了 不都是从新手过来的吗? 总有刁民想阴朕 发表于 2016-11-18 12:09
新手应该看不懂吧
我就是新手啊,我就能看得懂。