二叉搜索树打印c++代码
时间: 2024-11-18 11:14:42 浏览: 14
在C++中,二叉搜索树(Binary Search Tree,BST)是一个常用的数据结构,其中每个节点包含一个值,并且左子树中的所有节点的值都小于根节点,右子树中的所有节点的值都大于根节点。下面是一个简单的二叉搜索树的前序遍历(根-左-右)的C++代码示例,使用递归的方式实现:
```cpp
#include <iostream>
// 定义二叉搜索树的节点
struct Node {
int val;
Node* left;
Node* right;
Node(int x) : val(x), left(NULL), right(NULL) {}
};
// 二叉搜索树的前序遍历函数
void printInOrder(Node* node) {
if (node == nullptr)
return;
// 遍历左子树
printInOrder(node->left);
// 输出当前节点的值
std::cout << node->val << " ";
// 遍历右子树
printInOrder(node->right);
}
int main() {
// 创建一个二叉搜索树示例
Node* root = new Node(5); // 根节点5
root->left = new Node(3);
root->right = new Node(7);
root->left->left = new Node(2);
root->left->right = new Node(4);
root->right->left = new Node(6);
root->right->right = new Node(8);
// 打印前序遍历结果
std::cout << "Preorder traversal of the binary search tree: ";
printInOrder(root);
std::cout << "\n";
// 清理内存(这里是简化示例,实际项目中应考虑智能指针)
delete root;
return 0;
}
```
这个代码片段首先创建了一个二叉搜索树,然后调用`printInOrder`函数来按照前序遍历的方式打印树的所有节点值。
阅读全文