#include<stdio.h>
#include<stdlib.h>
typedef char M;
typedef struct node{
M data;
struct node *lchild,*
rchild;
}BiTNode,*
BinTree;
void createBinTree_Pre(BiTNode *&T,M pre[],
int&
n){
M ch=pre[n++
];
if(ch==
';')
return;
if(ch!=
'#'){
T=(BiTNode*)malloc(
sizeof(BiTNode));
T->data=
ch;
createBinTree_Pre(T->
lchild,pre,n);
createBinTree_Pre(T->
rchild,pre,n);
}
else T=
NULL;
}
void PrintBinTree(BiTNode*
t){
if(t!=
NULL){
printf("%c",t->
data);
if(t->lchild!=NULL||t->rchild!=
NULL){
printf("(");
PrintBinTree(t->
lchild);
printf(",");
PrintBinTree(t->
rchild);
printf(")");
}
}
}
void PreOrder_recur(BiTNode*
BT){
if(BT!=
NULL){
printf("%d",BT->
data);
PreOrder_recur(BT->
lchild);
PreOrder_recur(BT->
rchild);
}
}
int main() {
BiTNode T; createBinTree_Pre(&T); PrintBinTree(&T);
} 存在错误
转载于:https://www.cnblogs.com/YShen0/p/10936371.html
相关资源:C语言打印二叉树