在 C++ 程式中建立給定二叉樹的映象樹
在本教程中,我們準備反映給出的二叉樹。
我們來看看解決該問題的步驟。
編寫一個 struct 節點。
使用虛擬資料建立二叉樹。
編寫一個遞迴函式,以查詢給定二叉樹的映象。
使用左右節點以遞迴方式呼叫函式。
交換左節點資料和右節點資料。
列印樹。
示例
我們來看看程式碼。
#include<bits/stdc++.h>
using namespace std;
struct Node {
int data;
struct Node* left;
struct Node* right;
};
struct Node* newNode(int data) {
struct Node* node = new Node;
node->data = data;
node->left = NULL;
node->right = NULL;
return node;
}
void convertTreeToItsMirror(struct Node* node) {
if (node == NULL) {
return;
}
else {
struct Node* temp;
convertTreeToItsMirror(node->left);
convertTreeToItsMirror(node->right);
temp = node->left;
node->left = node->right;
node->right = temp;
}
}
void printTree(struct Node* node) {
if (node == NULL) {
return;
}
printTree(node->left);
cout << node->data << " ";
printTree(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);
cout << "Tree: ";
printTree(root);
cout << endl;
convertTreeToItsMirror(root);
cout << "Mirror of the Tree: ";
printTree(root);
cout << endl;
return 0;
}輸出
如果你執行上述程式碼,你將得到以下結果。
Tree: 4 2 5 1 3 Mirror of the Tree: 3 1 5 2 4
結論
如果你有任何關於本教程的問題,請在評論部分提及。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP