이 진 트 리 (링크): 우선 순서 중 순서 후 순서 로 비 재 귀적 형식 을 옮 겨 다 닙 니 다.
1494 단어 데이터 구조 C 언어
//
// BTreeLink1.c
// tree
//
// ( )( )
#include
#include
typedef struct BiTNode{
char data;
struct BiTNode *lchild,*rchild;
}BiTree;
//
void PreOrderTraverse(BiTree* T){
if(T==NULL)
return ;
printf("%c ",T->data);
PreOrderTraverse(T->lchild);
PreOrderTraverse(T->rchild);
}
//
void InOrderTraverse(BiTree* T){
if(T==NULL)
return ;
InOrderTraverse(T->lchild);
printf("%C ",T->data);
InOrderTraverse(T->rchild);
}
//
void PostOrderTraverse(BiTree* T){
if(T==NULL)
return;
PostOrderTraverse(T->lchild);
PostOrderTraverse(T->rchild);
printf("%c ",T->data);
}
//
BiTree * CreateBiTree(){
BiTree *T;
char ch=0;
printf("print ");
scanf("%c",&ch);
if(ch=='#'){
T=NULL;
}else{
T = (BiTree*)malloc(sizeof(BiTree));
T->data=ch;
T->lchild = CreateBiTree();
T->rchild = CreateBiTree();
}
return T;
}
void pri(){
printf("
");
}
int main(){
BiTree * T;
printf(" (# AB#C##D##):");
T=CreateBiTree();
printf(" :");
PreOrderTraverse (T);
printf("
:");
InOrderTraverse(T);
printf("
:");
PostOrderTraverse(T);
pri();
return 0;
}