PostOrder Traversal in a Binary Tree using C
#include<stdio.h>
struct node
{
int data;
struct node *left;
struct node *right;
};
struct node *create_node(int number)
{
struct node *temp;
temp=(struct node *)malloc(sizeof(struct node));
temp->data=number;
temp->left=NULL;
temp->right=NULL;
};
void postorder(struct node *root)
{
if(root!=NULL)
{
postorder(root->left);
postorder(root->right);
printf("%d ",root->data);
}
}
int main()
{
struct node *p,*p1,*p2,*p3,*p4,*p5,*p6,*p7;
p=create_node(5);
p1=create_node(6);
p->left=p1;
p2=create_node(7);
p->right=p2;
p3=create_node(8);
p->left->left=p3;
p4=create_node(9);
p->left->right=p4;
p5=create_node(10);
p->right->right=p5;
p7=create_node(12);
p5->right=p7;
p6=create_node(11);
p5->left=p6;
postorder(p);
return 0;
}
0 Comments