It includes Binay tree construction,Inorder,preorder,postorder traversals
Binary tree using C... & Tree traversals
#include<stdio.h>
#include<conio.h>
#include<process.h>
#include<alloc.h>
typedef struct tree
{
int data;
struct tree *left,*right,*temp;
}tree;
void insert(tree *root);
void in(tree *root);
void pre(tree *root);
void main()
{
tree *root;
clrscr();
root=(tree *)malloc(sizeof(tree));
if(root==NULL)
{
printf("\n Unable to allocate memory:-");
}
printf("\nEnter root data:-");
scanf("%d",&root->data);
root->left=NULL;
root->right=NULL;
insert(root);
printf("\n inorder is:-\n");
in(root);
printf("\n preorder is:-\n");
pre(root);
getch();
}
void insert(tree *root)
{
char ch;
tree *child,*temp;
do
{
child=(tree *)malloc(sizeof(tree));
printf("\n enter data:-");
scanf("%d",&child->data);
child->left=NULL;
child->right=NULL;
temp=root;
while(1)
{
printf("\n At left or right %d(l/r):-",temp->data);
scanf("%s",&ch);
if(ch=='l')
{
if(temp->left==NULL)
{
temp->left=child;
break;
}
else
{
temp=temp->left;
}
}
if(ch=='r')
{
if(temp->right==NULL)
{
temp->right=child;
break;
}
else
{
temp=temp->right;
}
}
}
printf("\n do u want to add another:-(y\n)");
ch=getch();
}while(ch=='y');
}
void in(tree *root)
{
if(root!=NULL)
{
in(root->left);
printf("%d",root->data);
in(root->right);
}
}
void pre(tree *root)
{
if(root!=NULL)
{
printf("%d",root->data);
pre(root->right);
pre(root->left);
}
}
sahasrara 0 Newbie Poster
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.