The need:
This program is written to show the program implementation of the concept explained in the previous post. This program is the implementation of 2 + 3 example given there.
The code:
----------------------------------------------------------
#include<stdio.h> #include<stdlib.h> struct tree { char num; struct tree *left, *right, *parent; }; typedef struct tree node; void in_print(node *p); void pre_print(node *p); void post_print(node *p); node * create_node(char c); int main() { int i; node *root=NULL; root = create_node('+'); root->left = create_node('a'); root->right = create_node('b'); printf("Pre order print\t\t"); pre_print(root); printf("\nIn order print\t\t"); in_print(root); printf("\nPost order print\t"); post_print(root); putchar('\n'); return 0; } node * create_node(char c) { node *new_node; new_node = (node *)malloc(sizeof(node)); new_node->num = c; new_node->parent = NULL; new_node->left = NULL; new_node->right = NULL; return new_node; } void pre_print(node *p) { if(p==NULL) return; else printf("%c ",p->num); pre_print(p->left); pre_print(p->right); } void in_print(node *p) { if(p==NULL) return; else in_print(p->left); printf("%c ",p->num); in_print(p->right); } void post_print(node *p) { if(p==NULL) return; else post_print(p->left); post_print(p->right); printf("%c ",p->num); }
----------------------------------------------------------
Approach:This program is just to show the printing of a tree in pre-order, inorder and post order. For that first we have to make the tree. Here I have not created a bigger tree. Here we have the simplest tree with 3 nodes only. So we need not make a function to construct the tree. Here simply I have created 3 nodes and put them to make a small tree. create_node() function creates a node with given data/value ans returns it address. we create first node, make it root. After that we create 2 more nodes and make them left and right children of root. Then there are 3 functions in_print(), pre_print() and post_print() which print the expression in infix, prefix and postfix form respectively.
Remarks:
1. Here this program is shown to print the simplest expression in prefix, infix and post-fix form but this program can be used to print any binary tree in pre-order, inorder and post order.
2. This program is the base of all the tree programs related to trees.
thank you very much...and i still confuse
ReplyDeletewhats the confusion about?
DeleteIn which function is the elements added to tree ??
ReplyDeletecan u give Output example of this program
This program is intended to traverse and print a tree. So I didn't create a bigger tree. The tree used in this demonstration is small and has been constructed manually on lines 18,19,20 of the above program.
Delete