इस ट्यूटोरियल में, हम एक बाइनरी ट्री को उसके मिरर ट्री में बदलने के प्रोग्राम पर चर्चा करेंगे।
इसके लिए हमें एक बाइनरी ट्री प्रदान किया जाएगा। हमारा काम दिए गए बाइनरी ट्री से मिरर ट्री बनाने के लिए बाईं और दाईं ओर के मानों को स्वैप करना होगा।
उदाहरण
#include<bits/stdc++.h> using namespace std; //binary tree node structure struct Node{ int data; struct Node* left; struct Node* right; }; //creation of a new node with no child nodes 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 mirror(struct Node* node){ if (node == NULL) return; else{ struct Node* temp; //swapping the subtrees mirror(node->left); mirror(node->right); temp = node->left; node->left = node->right; node->right = temp; } } //printing the inorder traversal void print_tree(struct Node* node){ if (node == NULL) return; print_tree(node->left); cout << node->data << " "; print_tree(node->right); } int main(){ struct Node *root = newNode(1); root->left = newNode(2); root->right = newNode(3); root->left->left = newNode(4); root->left->right = newNode(5); //printing the initial tree cout << "Inorder traversal of the constructed" << endl; print_tree(root); mirror(root); //printing the mirror tree cout << "\nInorder traversal of the mirror tree" << endl; print_tree(root); return 0; }
आउटपुट
Inorder traversal of the constructed 4 2 5 1 3 Inorder traversal of the mirror tree 3 1 5 2 4