Skip to main content
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
Post a Comment