0% found this document useful (0 votes)
36 views

Binary Tree Traversal

The document defines functions for traversing a binary tree in inorder, preorder, and postorder manners. It includes functions for inserting nodes, printing the traversals, and a main function to test it. The program takes user input to build a sample binary tree with 4 nodes, then prints the inorder, preorder, and postorder traversals of the built tree.

Uploaded by

Shabaz Mondal
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views

Binary Tree Traversal

The document defines functions for traversing a binary tree in inorder, preorder, and postorder manners. It includes functions for inserting nodes, printing the traversals, and a main function to test it. The program takes user input to build a sample binary tree with 4 nodes, then prints the inorder, preorder, and postorder traversals of the built tree.

Uploaded by

Shabaz Mondal
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

//Binary tree traversal # include<stdio.h> # include <conio.h> # include <malloc.

h> struct node { struct node *left; int data; struct node *right; }; void main() { void insert(struct node **,int); void inorder(struct node *); void postorder(struct node *); void preorder(struct node *); struct node *ptr; int no,i,num; ptr = NULL; ptr->data=NULL; clrscr(); printf("\nProgram for Tree Traversal\n"); printf("Enter the number of nodes to add to the tree.<BR>\n"); scanf("%d",&no); for(i=0;i<no;i++) {

printf("Enter the item\n"); scanf("%d",&num); insert(&ptr,num); } //getch(); printf("\nINORDER TRAVERSAL\n"); inorder(ptr); printf("\nPREORDER TRAVERSAL\n"); preorder(ptr); printf("\nPOSTORDER TRAVERSAL\n"); postorder(ptr); getch(); } void insert(struct node **p,int num) { if((*p)==NULL) { printf("Leaf node created."); (*p)=(node *)malloc(sizeof(struct node)); (*p)->left = NULL; (*p)->right = NULL; (*p)->data = num; return; } else {

if(num==(*p)->data) { printf("\nREPEATED ENTRY ERROR VALUE REJECTED\n"); return; } if(num<(*p)->data) { printf("\nDirected to left link.\n"); insert(&((*p)->left),num); } else { printf("Directed to right link.\n"); insert(&((*p)->right),num); } } return; } void inorder(struct node *p) { if(p!=NULL) { inorder(p->left); printf("\nData :%d",p->data); inorder(p->right); }

else return; } void preorder(struct node *p) { if(p!=NULL) { printf("\nData :%d",p->data); preorder(p->left); preorder(p->right); } else return; } void postorder(struct node *p) { if(p!=NULL) { postorder(p->left); postorder(p->right); printf("\nData :%d",p->data); } else return; } /* OUTPUT

Program for Tree Traversal Enter the number of nodes to add to the tree.<BR> 4 Enter the item 34 Leaf node created.Enter the item 12

Directed to left link. Leaf node created.Enter the item 56 Directed to right link. Leaf node created.Enter the item 11 Directed to left link. Directed to left link. Leaf node created. INORDER TRAVERSAL Data :11 Data :12 Data :34 Data :56 PREORDER TRAVERSAL Data :34 Data :12 Data :11

Data :56 POSTORDER TRAVERSAL Data :11 Data :12 Data :56 Data :34

*/

You might also like