#include<stdio.h>
typedef struct Btree{
int data;
struct Btree *left;
struct Btree *right;
};
struct Btree insert(struct Btree *bt,int n){
if(bt==NULL){
bt= (struct Btree *) malloc(sizeof(struct Btree));
bt->data=n;
bt->left=NULL;
bt->right=NULL;
}
else if(n<= bt->data)
bt->left = insert(bt->left,n);
else
bt->right = insert(bt->right,n);
return bt;
}
void preorderTravasal(struct Btree *bt){
if(bt){
printf("%d,",bt->data);
preorderTravasal(bt->left);
preorderTravasal(bt->right);
}
return;
}
void inorderTravasal(struct Btree *bt){
if(bt){
inorderTravasal(bt->left);
printf("%d,",bt->data);
inorderTravasal(bt->right);
}
return;
}
void postorderTravasal(struct Btree *bt){
if(bt){
postorderTravasal(bt->left);
postorderTravasal(bt->right);
printf("%d,",bt->data);
}
return;
}
int main(){
struct Btree *bt;
bt=NULL;
int item;
while(1){
printf("which operation you want to perform....\n");
printf("1. Insert an element.\n");
printf("2. preOrder Traversal\n");
printf("3. InOrder Traversal\n");
printf("4. postOrder Traversal\n");
int op;
scanf("%d",&op);
switch(op){
case 1:
printf("Enter a number.\n");
scanf("%d",&item);
bt = insert(bt,item);
break;
case 2:
preorderTravasal(bt);
break;
case 3:
inorderTravasal(bt);
break;
case 4:
postorderTravasal(bt);
break;
default:
printf("Please choose correct option...\n\n");
}
}
}
No comments:
Post a Comment