#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct Tree {
struct Tree *left;
struct Tree* right;
char data;
};
int count = 0;
Tree* Creat(struct TreeT);
void PreFind(struct TreeT);
int main()
{
struct Tree T;
struct Tree* T1 = &T;
T1= Creat(T1);
printf("ok\n");
printf("%p\n", &*T1);
PreFind(T1);
}
Tree* Creat( Tree* T)
{
char ch;
ch = getchar();
if (ch == '#')
{
T = NULL;
printf("创建失败");
}
else
{
T=(Tree*)malloc(sizeof(Tree));
T->data = ch;
printf("%p\t", &*T);
Creat(T->left);
Creat(T->right);
}
return T;
}
void PreFind(struct Tree*T)
{
if (T != NULL) {
printf("%c\t", T->data);
printf("%p\t", &*T);
PreFind(T->left);
PreFind(T->right);
}
if (T == NULL)
printf("\tNULL\t");
return;
}
先序遍历(根左右)