用C++写一个二叉排列树的递归查找并输出查找过程的代码
时间: 2024-03-16 20:45:10 浏览: 52
下面是用C++实现的二叉排列树的递归查找并输出查找过程的代码:
```cpp
#include <iostream>
using namespace std;
struct Node {
int value;
Node* left;
Node* right;
Node(int val) : value(val), left(nullptr), right(nullptr) {}
};
Node* find_node(Node* root, int value) {
if (root == nullptr) {
cout << "未找到该值" << endl;
return nullptr;
} else if (root->value == value) {
cout << root->value << endl;
return root;
} else if (root->value < value) {
cout << root->value << endl;
return find_node(root->right, value);
} else {
cout << root->value << endl;
return find_node(root->left, value);
}
}
int main() {
Node* root = new Node(2);
root->left = new Node(1);
root->right = new Node(3);
root->right->right = new Node(4);
Node* result = find_node(root, 3);
if (result != nullptr) {
cout << "找到了节点 " << result->value << endl;
}
return 0;
}
```
输出结果如下:
```
2
3
找到了节点 3
```
从输出结果可以看出,在查找过程中,先输出了根节点的值2,然后输出了右子树的根节点值3,最后输出了找到的节点值3。
阅读全文