#include<stdio.h>
#include<stdlib.h>
#include"BiTree.h"
int main(int argc, char const *argv[])
{
BinaryTree a,b,x,y,z;
Create(&a);Create(&b);Create(&x);Create(&y);Create(&z);
MakeTree(&y,'E',&a,&b);
MakeTree(&z,'F',&a,&b);
MakeTree(&x,'C',&y,&z);
MakeTree(&y,'D',&a,&b);
MakeTree(&z,'B',&y,&x);
PreOrderTree(&z);
ClearTree(&z);
getchar();
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include <stdbool.h>
#include"BiTree.h"
void Create(BinaryTree *bt)
{
bt->root = NULL;
}
BTnode* NewNode(BTnode *lChild,BTnode *rChild,char x)
{
BTnode *Node = malloc(sizeof(BTnode));
Node->lChild = lChild;
Node->rChild = rChild;
Node->element = x;
return Node;
}
bool Root(BinaryTree *bt,char *x){
if(bt->root){x = &bt->root->element; return true;}
else return false;
}
void MakeTree(BinaryTree *bt,char e,BinaryTree *left,BinaryTree *right)
{
if(bt->root||left == right) return;
bt->root = NewNode(e,left->root,right->root);
left->root = right->root = NULL;
}
void PreOrderTree(BinaryTree *bt)
{
PreOrder(bt->root);
}
void PreOrder(BTnode *t)
{
if(!t) return;
printf("%c",t->element);
PreOrder(t->lChild);
PreOrder(t->rChild);
}
void ClearTree(BinaryTree *bt)
{
}
