#include <stdio.h>
#include <stdlib.h>
typedef struct Bitnode{
char data;
struct Bitnode *lchild;
struct Bitnode *rchild;
}Bitree;
Bitree *Creat_Tree(void);
void preorder(Bitree *T);
void inorder(Bitree *T);
void postorder(Bitree *T);
int main (int argc, char **argv)
{
Bitree *T = NULL;
T = Creat_Tree();
preorder(T);
printf ("\n");
return 0;
}
Bitree *Creat_Tree(void)
{
char ch;
Bitree *Tree;
scanf ( "%c", &ch );
if ('#' == ch)
{
Tree = NULL;
}
else
{
Tree = (Bitree *)malloc(sizeof(Bitree));
Tree->data = ch;
Tree->lchild = Creat_Tree();
Tree->rchild = Creat_Tree();
}
return Tree;
}
void preorder(Bitree *T)
{
if (T)
{
printf ("%c ", T->data);
preorder(T->lchild);
preorder(T->rchild);
}
}
void inorder(Bitree *T)
{
if(T)
{
inorder(T->lchild);
printf ("%c ", T->data);
inorder(T->rchild);
}
}
void postorder(Bitree *T)
{
if (T)
{
inorder(T->lchild);
inorder(T->rchild);
printf ("%c", T->data);
}
#include <stdlib.h>
typedef struct Bitnode{
char data;
struct Bitnode *lchild;
struct Bitnode *rchild;
}Bitree;
Bitree *Creat_Tree(void);
void preorder(Bitree *T);
void inorder(Bitree *T);
void postorder(Bitree *T);
int main (int argc, char **argv)
{
Bitree *T = NULL;
T = Creat_Tree();
preorder(T);
printf ("\n");
return 0;
}
Bitree *Creat_Tree(void)
{
char ch;
Bitree *Tree;
scanf ( "%c", &ch );
if ('#' == ch)
{
Tree = NULL;
}
else
{
Tree = (Bitree *)malloc(sizeof(Bitree));
Tree->data = ch;
Tree->lchild = Creat_Tree();
Tree->rchild = Creat_Tree();
}
return Tree;
}
void preorder(Bitree *T)
{
if (T)
{
printf ("%c ", T->data);
preorder(T->lchild);
preorder(T->rchild);
}
}
void inorder(Bitree *T)
{
if(T)
{
inorder(T->lchild);
printf ("%c ", T->data);
inorder(T->rchild);
}
}
void postorder(Bitree *T)
{
if (T)
{
inorder(T->lchild);
inorder(T->rchild);
printf ("%c", T->data);
}
}
[shaocongshuai@localhost ~]$ ./a.out
ab##c##
a b c