Earn without any Investment!

Monday, October 25, 2010

In-Order Traversal of Binary Tree

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
struct node
{
    int data;
    node *left;
    node *right;
}*tree;
  //*tree=NULL;
node *insert(node *tree,int ele);
void inorder(node *tree);
int count=1;
void main()
{
   clrscr();
   char ch;
   int ele;
   do
   {
     clrscr();
     cout<<"\n\t1----INSERT A NODE IN A BINARY TREE.";
     cout<<"\n\t2----IN-ORDER TRAVERSAL.";
     cout<<"\n\t3----EXIT.";
     cout<<"\n\tENTER CHOICE::";
     ch=getch();
     switch(ch)
     {
       case '1':
     cout<<"\n\tENTER THE ELEMENT::";
     cin>>ele;
     tree=insert(tree,ele);
     break;
       case '2':
     cout<<"\n\tIN-ORDER TRAVERSAL OF A TREE\n\t";
     inorder(tree);
     getch();
     break;
       case '3':
     exit(0);
      }
    }while(ch!='3');
 }
node *insert(node *tree,int ele)
{
   if(tree==NULL)
   {
     tree=new node;
     tree->left=tree->right=NULL;
     tree->data=ele;
     count++;
    }
    else if(count%2==0)
      tree->left=insert(tree->left,ele);
    else
      tree->right=insert(tree->right,ele);
    return(tree);
}
void inorder(node *tree)
{
  if(tree!=NULL)
  {
    inorder(tree->left);
    cout<<tree->data<<"\t";
    inorder(tree->right);
   }
}

No comments:

Post a Comment