#include "bitree.h"
void Visit(char ch
)
{
printf("%c ",ch
);
}
void PreOrder(BiTree root
)
{
if (root
!=NULL)
{
Visit(root
->data
);
PreOrder(root
->LChild
);
PreOrder(root
->RChild
);
}
}
void InOrder(BiTree root
)
{
if (root
!=NULL)
{
InOrder(root
->LChild
);
Visit(root
->data
);
InOrder(root
->RChild
);
}
}
void PostOrder(BiTree root
)
{
if(root
!=NULL)
{
PostOrder(root
->LChild
);
PostOrder(root
->RChild
);
Visit(root
->data
);
}
}
void main()
{
BiTree T
;
CreateBiTree(&T
);
printf("先序遍历序列为:");
PreOrder(T
);
printf("\n中序遍历序列为:");
InOrder(T
);
printf("\n后序遍历序列为:");
PostOrder(T
);
getch();
}
bitree.h
#include <stdio.h>
#include <malloc.h>
#include <conio.h>
typedef char DataType
;
typedef struct Node
{
DataType data
;
struct Node
*LChild
;
struct Node
*RChild
;
}BiTNode
, *BiTree
;
void CreateBiTree(BiTree
*bt
)
{
char ch
;
ch
= getchar();
if(ch
=='.') *bt
=NULL;
else
{
*bt
=(BiTree
)malloc(sizeof(BiTNode
));
(*bt
)->data
=ch
;
CreateBiTree(&((*bt
)->LChild
));
CreateBiTree(&((*bt
)->RChild
));
}
}
转载请注明原文地址: https://mac.8miu.com/read-514931.html