#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); }
存在错误