cpp - Inorder-preorder-postorder

 Inorder ,Preorder,Postorder of binary tree

In last post we implement binary tree in this post we implement inorder ,preorder,postorder of binary tree,.



 

#include<stdio.h>
 

#include<stdlib.h>
 

typedef struct node
 

{
 

int data;
 

struct node *left;
 

struct node *right;


 

}node;


 

node *create()
 

{
 

int x;
 

node *p;
 

printf("enter data(-1 for no data):");
 

scanf("%d",&x);

 

if(x==-1)
 

return NULL;


 

p=(node*)malloc(sizeof(node));
 

p->data=x;

 

printf("Enter left data::%d\n",x);
 

p->left=create();

 

printf("Enter right data::%d\n",x);
p->right=create();

return p;
}

void preorder(node *t)

{
if(t)
                                                                          

{
printf("%d ",t->data);
                                                                           

preorder(t->left);
preorder(t->right);
}

}

void inorder(node *t){

if(t)
{                                                            


inorder(t->left);
printf("%d ",t->data);                         

inorder(t->left);
}
}

void postorder(node *t)
{
if(t){
 

postorder(t->left);                            

 

postorder(t->right);
 

printf("%d ",t->data);
}

}


int main()
{
node *root;
 

root=create();
 

printf("\n");
 

printf("preorder is::");
 

preorder(root);
 

printf("\n");
 

printf("inorder is::"); 

inorder(root);
 

printf("\n");
 

printf("postorder is::");
 

postorder(root);

}
 


Comments