0% found this document useful (0 votes)
12 views4 pages

Pre in Post Order

The document contains 4 sections that present C++ programs to traverse a binary tree using preorder, inorder, postorder, and all 3 orders. The programs define a node struct with data and left/right pointers, create a sample tree with nodes 1-4, and implement recursive functions to traverse the tree and output the node data in the specified order.

Uploaded by

jainmanya1815
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views4 pages

Pre in Post Order

The document contains 4 sections that present C++ programs to traverse a binary tree using preorder, inorder, postorder, and all 3 orders. The programs define a node struct with data and left/right pointers, create a sample tree with nodes 1-4, and implement recursive functions to traverse the tree and output the node data in the specified order.

Uploaded by

jainmanya1815
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

1.

WAP Program traverse by Pre Order

#include <iostream>

using namespace std;

struct node {
int data;
struct node *left;
struct node *right;
};

struct node *newNode(int data) {


struct node *node = (struct node *)malloc(sizeof(struct node));

node->data = data;

node->left = NULL;
node->right = NULL;
return (node);
}
void traversePreOrder(struct node *temp) {
if (temp != NULL) {
cout << " " << temp->data;
traversePreOrder(temp->left);
traversePreOrder(temp->right);
}
}

int main() {
struct node *root = newNode(1);
root->left = newNode(2);
root->right = newNode(3);
root->left->left = newNode(4);

cout << "preorder traversal: ";


traversePreOrder(root);

2. WAP Program traverse by in Order

#include <iostream>

using namespace std;

struct node {
int data;
struct node *left;
struct node *right;
};

struct node *newNode(int data) {


struct node *node = (struct node *)malloc(sizeof(struct node));

node->data = data;
node->left = NULL;
node->right = NULL;
return (node);
}

void traverseInOrder(struct node *temp) {


if (temp != NULL) {
traverseInOrder(temp->left);
cout << " " << temp->data;
traverseInOrder(temp->right);
}
}

int main() {
struct node *root = newNode(1);
root->left = newNode(2);
root->right = newNode(3);
root->left->left = newNode(4);

cout << "\nInorder traversal: ";


traverseInOrder(root);

3. WAP Program traverse by Post Order

#include <iostream>

using namespace std;

struct node {
int data;
struct node *left;
struct node *right;
};

struct node *newNode(int data) {


struct node *node = (struct node *)malloc(sizeof(struct node));

node->data = data;

node->left = NULL;
node->right = NULL;
return (node);
}

void traversePostOrder(struct node *temp) {


if (temp != NULL) {
traversePostOrder(temp->left);
traversePostOrder(temp->right);
cout << " " << temp->data;
}
}

int main() {
struct node *root = newNode(1);
root->left = newNode(2);
root->right = newNode(3);
root->left->left = newNode(4);

cout << "\nPostorder traversal: ";


traversePostOrder(root);
}

4. WAP Program traverse by Pre,in,post Order

#include <iostream>

using namespace std;

struct node {
int data;
struct node *left;
struct node *right;
};

// New node creation


struct node *newNode(int data) {
struct node *node = (struct node *)malloc(sizeof(struct node));

node->data = data;

node->left = NULL;
node->right = NULL;
return (node);
}

// Traverse Preorder
void traversePreOrder(struct node *temp) {
if (temp != NULL) {
cout << " " << temp->data;
traversePreOrder(temp->left);
traversePreOrder(temp->right);
}
}

// Traverse Inorder
void traverseInOrder(struct node *temp) {
if (temp != NULL) {
traverseInOrder(temp->left);
cout << " " << temp->data;
traverseInOrder(temp->right);
}
}
// Traverse Postorder
void traversePostOrder(struct node *temp) {
if (temp != NULL) {
traversePostOrder(temp->left);
traversePostOrder(temp->right);
cout << " " << temp->data;
}
}

int main() {
struct node *root = newNode(1);
root->left = newNode(2);
root->right = newNode(3);
root->left->left = newNode(4);

cout << "preorder traversal: ";


traversePreOrder(root);
cout << "\nInorder traversal: ";
traverseInOrder(root);
cout << "\nPostorder traversal: ";
traversePostOrder(root);
}

You might also like