#include<stdio.h>
#include<stdlib.h>
typedef struct TreeNode *BinTree;
typedef BinTree Position;
struct TreeNode
{
int data;
BinTree left,right;
};
BinTree insert(int x,BinTree BST)
{
if(!BST)
{
BST=(BinTree)malloc(sizeof(TreeNode));
BST->data=x;
BST->left=BST->right=NULL;
}
if(x<BST->data)
{
insert(x,BST->left);
}
if(x>BST->data)
{
insert(x,BST->right);
}
return BST;
}
BinTree FindMin(BinTree BST)
{
while(!BST->left)
BST=BST->left;
return BST;
}
void PreOrderTraversal(BinTree BT)
{
if(BT)
{
printf("%d",BT->data);
PreOrderTraversal(BT->left);
PreOrderTraversal(BT->right);
}
}
int main()
{
int val;
BinTree BST;
BST=(BinTree)malloc(sizeof(TreeNode));
scanf("%d",&val);
BST->data=val;
BST->left=BST->right=NULL;
scanf("%d",&val);
while(val!=0)
{
BST=insert(val,BST);
scanf("%d",&val);
}
PreOrderTraversal(BST);
}
