#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct btree{
int data;
struct btree *LeftChild;
struct btree *RightChild;
}BTree;
void CreatBiTree(BTree **BT){
//先序创建
*BT=(BTree *)malloc(sizeof(BTree));
scanf("%d",&(*BT)->data);
if((*BT)->data==-1){
printf("END!/n");
return;
}
CreatBiTree(&(*BT)->LeftChild);
CreatBiTree(&(*BT)->RightChild);
}
void PreOderTraverse(BTree *BT){
//先序遍历
if(BT->data==-1){
printf("END!/n");
return;
}
printf("%d ",BT->data);
PreOderTraverse(BT->LeftChild);
PreOderTraverse(BT->RightChild);
}
void main()
{
BTree *NewBiTree=NULL;
printf("creat bitree.../n");
CreatBiTree(&NewBiTree);
printf("PreOderTraverse bitree.../n");
getchar();
PreOderTraverse(NewBiTree);
free(NewBiTree);
getchar();
}