编写实现二叉树的先序遍历、中序遍历和后序遍历的递归算法的完整代码
时间: 2023-06-02 22:07:22 浏览: 141
以下是实现二叉树的先序遍历、中序遍历和后序遍历的递归算法的完整代码:
```c++
#include<iostream>
using namespace std;
struct Node {
int data;
Node* left;
Node* right;
};
Node* createNode(int data) {
Node* node = new Node();
node->data = data;
node->left = NULL;
node->right = NULL;
return node;
}
void preOrderTraversal(Node* node) {
if (node == NULL) {
return;
}
cout << node->data << " ";
preOrderTraversal(node->left);
preOrderTraversal(node->right);
}
void inOrderTraversal(Node* node) {
if (node == NULL) {
return;
}
inOrderTraversal(node->left);
cout << node->data << " ";
inOrderTraversal(node->right);
}
void postOrderTraversal(Node* node) {
if (node == NULL) {
return;
}
postOrderTraversal(node->left);
postOrderTraversal(node->right);
cout << node->data << " ";
}
int main() {
Node* root = createNode(1);
root->left = createNode(2);
root->right = createNode(3);
root->left->left = createNode(4);
root->left->right = createNode(5);
root->right->left = createNode(6);
root->right->right = createNode(7);
cout << "Preorder Traversal: ";
preOrderTraversal(root);
cout << endl;
cout << "Inorder Traversal: ";
inOrderTraversal(root);
cout << endl;
cout << "Postorder Traversal: ";
postOrderTraversal(root);
cout << endl;
return 0;
}
```
希望能够帮到你!若有其他问题,可以继续问我哦。
阅读全文
相关推荐

















