problem 35(BST)
#include<stdio.h>
struct node
{
int data;
struct node *left;
struct node *right;
};
struct node *create(struct node *head,int val)
{
struct node *temp,*newnode;
temp=head;
newnode=(struct node *)malloc(sizeof(struct node));
newnode->data=val;
newnode->left=NULL;
newnode->right=NULL;
if(temp==NULL)
{
return newnode;
}
else
{
while(1)
{
if(val<=temp->data)
{
if(temp->left==NULL)
{
temp->left=newnode;
break;
}
temp=temp->left;
}
else
{
if(temp->right==NULL)
{
temp->right=newnode;
break;
}
temp=temp->right;
}
}
}
return head;
};
void inorder(struct node *root)
{
if(root!=NULL)
{
inorder(root->left);
printf("%d ",root->data);
inorder(root->right);
}
}
int main()
{
struct node *root1=NULL;
for(int i=1;i<10;i++)
{
int n;
printf("Enter data : ");
scanf("%d",&n);
root1=create(root1,n);
}
inorder(root1);
return 0;
}
0 Comments