请用C++写出此题代码
时间: 2024-12-20 12:31:30 浏览: 3
假设题目要求我们实现一个二叉搜索树(BST)的前序遍历,这里给出一个简单的C++代码示例:
```cpp
#include<iostream>
using namespace std;
// 定义二叉树节点结构体
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
// 前序遍历函数
void preorderTraversal(TreeNode* root) {
if (root != NULL) { // 非空节点才进行遍历
cout << root->val << " "; // 先访问根节点
preorderTraversal(root->left); // 再遍历左子树
preorderTraversal(root->right); // 最后遍历右子树
}
}
int main() {
// 创建一个示例二叉树
TreeNode* tree = new TreeNode(1);
tree->left = new TreeNode(2);
tree->right = new TreeNode(3);
tree->left->left = new TreeNode(4);
tree->left->right = new TreeNode(5);
// 前序遍历二叉树
cout << "Preorder traversal of binary search tree: ";
preorderTraversal(tree);
return 0;
}
```
这个程序创建了一个二叉搜索树,并通过`preorderTraversal`函数实现了前序遍历,即根节点 -> 左子树 -> 右子树。
阅读全文