#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define NOINFO -1
typedef struct node
{
int data;
struct TNode* L;
struct TNode* R;
}Node, * PNode;
typedef PNode BinTree;
BinTree CreatBintree();
bool IsEmpty(BinTree BT);
PreTraverse(BinTree BT); //先序遍历
//InTraverse(BinTree BT); //中序遍历
//PosTraverse(BinTree BT); //中序遍历
//LeTraverse(BinTree BT); //层序遍历
main() {
BinTree BTree;
BTree = CreatBintree();
IsEmpty(BTree);
PreTraverse(BTree);
}
BinTree CreatBintree() {
int data = NOINFO;
BinTree BT = (BinTree)malloc(sizeof(Node));
BT->data = data;
BT->L = NULL;
BT->R = NULL;
return BT;
}
bool IsEmpty(BinTree BT) {
if (BT->L == NULL && BT->R == NULL)
return true;
else
return false;
}
PreTraverse(BinTree BT) {
if (IsEmpty(BT))
printf("BinTree is empty!");
else
{
if (BT) {
printf("%d", BT->data);
PreTraverse(BT->L);
PreTraverse(BT->R);
}
}
}