#include <stdio.h>
#include <stdlib.h>
typedef struct bst
{
int data;
struct abc *left;
struct abc *right;
}node;
node *tree=NULL;
node *create(node *tree,int val)
{
node *ptr,*parentptr,*nodeptr;
ptr=(node *)malloc(sizeof(node));
ptr->data=val;
ptr->left=NULL;
ptr->right=NULL;
if(tree==NULL)
{
tree=ptr;
tree->left=NULL;
tree->right=NULL;
}
else
{
parentptr=NULL;
nodeptr=tree;
while(nodeptr!=NULL)
{
parentptr=nodeptr;
if(val<nodeptr->data)
nodeptr=nodeptr->left;
else
nodeptr=nodeptr->right;
}
if(val<parentptr->data)
parentptr->left=ptr;
else
parentptr->right=ptr;
}
return tree;
}
node *in_order(node *tree)
{
if(tree!=NULL)
{
in_order(tree->left);
printf("%d ",tree->data);
in_order(tree->right);
}
return tree;
}
node *pre_order(node *tree)
{
if(tree!=NULL)
{
printf("%d ",tree->data);
pre_order(tree->left);
pre_order(tree->right);
}
return tree;
}
node *post_order(node *tree)
{
if(tree!=NULL)
{
post_order(tree->left);
post_order(tree->right);
printf("%d ",tree->data);
}
return tree;
}
int main()
{
int val,opt;
do
{
printf("\nMenu\n1--Insert\n2--In Order\n3--Pre Order\n4--Post Order\nEnter your choice\n");
scanf("%d",&opt);
switch(opt)
{
case 1:printf("Enter the value to be inserted\t ");
scanf("%d",&val);
tree=create(tree,val);
break;
case 2:tree=in_order(tree);
break;
case 3:tree=pre_order(tree);
break;
case 4:tree=post_order(tree);
break;
}
}while(opt!=5);
return 0;
}
#include <stdlib.h>
typedef struct bst
{
int data;
struct abc *left;
struct abc *right;
}node;
node *tree=NULL;
node *create(node *tree,int val)
{
node *ptr,*parentptr,*nodeptr;
ptr=(node *)malloc(sizeof(node));
ptr->data=val;
ptr->left=NULL;
ptr->right=NULL;
if(tree==NULL)
{
tree=ptr;
tree->left=NULL;
tree->right=NULL;
}
else
{
parentptr=NULL;
nodeptr=tree;
while(nodeptr!=NULL)
{
parentptr=nodeptr;
if(val<nodeptr->data)
nodeptr=nodeptr->left;
else
nodeptr=nodeptr->right;
}
if(val<parentptr->data)
parentptr->left=ptr;
else
parentptr->right=ptr;
}
return tree;
}
node *in_order(node *tree)
{
if(tree!=NULL)
{
in_order(tree->left);
printf("%d ",tree->data);
in_order(tree->right);
}
return tree;
}
node *pre_order(node *tree)
{
if(tree!=NULL)
{
printf("%d ",tree->data);
pre_order(tree->left);
pre_order(tree->right);
}
return tree;
}
node *post_order(node *tree)
{
if(tree!=NULL)
{
post_order(tree->left);
post_order(tree->right);
printf("%d ",tree->data);
}
return tree;
}
int main()
{
int val,opt;
do
{
printf("\nMenu\n1--Insert\n2--In Order\n3--Pre Order\n4--Post Order\nEnter your choice\n");
scanf("%d",&opt);
switch(opt)
{
case 1:printf("Enter the value to be inserted\t ");
scanf("%d",&val);
tree=create(tree,val);
break;
case 2:tree=in_order(tree);
break;
case 3:tree=pre_order(tree);
break;
case 4:tree=post_order(tree);
break;
}
}while(opt!=5);
return 0;
}
0 comments:
Post a Comment