/*2Tree的基本操作*/
#include
struct tree
{
int data;
struct tree *left;
struct tree *right;
};
typedef struct tree treenode;
typedef treenode *b_tree;
b_tree creat()
{
char ch;
b_tree newnode;
ch=getchar();
if (ch==’ ’) return(NULL);
else
{ newnode=(b_tree)malloc(sizeof(treenode));
newnode->data=ch;
newnode->left=creat(newnode);
newnode->right=creat(newnode);
}
return newnode;
}
void front_print(b_tree root)
{
if(root!=NULL)
{
printf("[%c]",root->data);
front_print(root->left);
front_print(root->right);
}
}
void middle_print(b_tree root)
{
if(root!=NULL)
{
middle_print(root->left);
printf("[%c]",root->data);
middle_print(root->right);
}
}
#include
struct tree
{
int data;
struct tree *left;
struct tree *right;
};
typedef struct tree treenode;
typedef treenode *b_tree;
b_tree creat()
{
char ch;
b_tree newnode;
ch=getchar();
if (ch==’ ’) return(NULL);
else
{ newnode=(b_tree)malloc(sizeof(treenode));
newnode->data=ch;
newnode->left=creat(newnode);
newnode->right=creat(newnode);
}
return newnode;
}
void front_print(b_tree root)
{
if(root!=NULL)
{
printf("[%c]",root->data);
front_print(root->left);
front_print(root->right);
}
}
void middle_print(b_tree root)
{
if(root!=NULL)
{
middle_print(root->left);
printf("[%c]",root->data);
middle_print(root->right);
}
}