#include< stdio.h >
#include< stdlib.h >
#include< conio.h >
typedef struct tree*node;
node insert(int,node T);
void inorder(node T);
void preorder(node T);
void postorder(node T);
struct tree
{
int data;
struct tree*right,*left;
}*root;
void main()
{
node T= NULL;
int data,ch,i=0,n;
clrscr();
printf("\n\t\t***TRAVERSING OF A TREE***\n\n");
printf("\n\tEnter the number of elements in the Tree: ");
scanf("%d",&n);
printf("\n The elements are : ");
while(i
scanf("%d",&data);
T=insert(data,T);
i++;
}
printf ("\n\nInorder traversal of the given Tree:\n\t");
inorder(T);
printf("\n\nPreoroder traversal of the given Tree:\n\t");
preorder(T);
printf("\n\nPostorder traversal of the given Tree :\n\t");
postorder(T);
getch();
}
node insert(int X, node T)
{
struct tree*newnode;
newnode=malloc(sizeof(struct tree));
if(newnode==NULL)
printf("Out of space\n");
else
{
if(T==NULL)
{
newnode->data=X;
newnode->left=NULL;
newnode->right=NULL;
T=newnode;
}
else
{
if(X
T->left=insert(X,T->left);
else
T->right=insert(X,T->right);
}
}
return T;
}
void inorder(node T)
{
if(T!=NULL)
{
inorder(T->left);
printf("%d\t",T->data);
inorder(T->right);
}
}
void preorder(node T)
{
if(T!=NULL)
{
printf("%d\t",T->data);
preorder(T->left);
preorder(T->right);
}
}
void postorder(node T)
{
if(T!=NULL)
{
postorder(T->left);
postorder(T->right);
printf("%d\t",T->data);
}
}
No comments:
Post a Comment