#include
#include
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);
}
存在错误
标签:lchild,输出,顺序,BiTNode,C语言,BT,printf,rchild,NULL
来源: https://www.cnblogs.com/YShen0/p/10936371.html