Monday, September 14, 2020

C++ Program for Preorder, Inorder, PostOrder traversal in Binary Tree

#include <iostream>

using namespace std;


struct Node

{

int data;

Node *left;

Node *right;

};

Node *root=NULL;


Node* createNode(int value)

{

Node *newnode = new Node;

newnode->data = value;

newnode->left = NULL;

newnode->right = NULL;

return newnode;

}


void inOrder(Node *node)

{

if (node == NULL)

return;

else

{

inOrder(node->left);

cout<<node->data<<" ";

inOrder(node->right);

}

}


void preOrder(Node *node)

{

if (node == NULL)

return;

else

{

cout<<node->data<<" ";

preOrder(node->left);

preOrder(node->right);

}

}


void postOrder(Node *node)

{

if (node == NULL)

return;

else

{

postOrder(node->left);

postOrder(node->right);

cout<<node->data<<" ";

}

}


int main()

{

root = createNode(20);

root->left = createNode(100);

root->right = createNode(3);

root->left->left = createNode(50);

root->left->right = createNode(15);

root->left->left->left = createNode(222);

root->right->left = createNode(250);

root->right->right = createNode(35);

cout<<"\n Inorder : \n";

inOrder(root);

cout<<"\n Preorder: \n";

preOrder(root);

cout<<"\n Postorder: \n";

postOrder(root);

return 0;


Output: 


No comments:

Post a Comment