C++ 树状结构
时间: 2023-07-11 09:07:01 浏览: 58
C++ 中实现树状结构可以使用指针或者 STL 中的容器。下面是一个使用指针实现的示例代码:
```c++
#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) return;
cout << root->val << " ";
preorderTraversal(root->left);
preorderTraversal(root->right);
}
int main() {
// 创建一颗二叉树
TreeNode* root = new TreeNode(1);
root->left = new TreeNode(2);
root->right = new TreeNode(3);
root->left->left = new TreeNode(4);
root->left->right = new TreeNode(5);
// 先序遍历打印树
preorderTraversal(root);
return 0;
}
```
在这个示例代码中,我们使用了一个 `TreeNode` 结构体来表示树的节点,并使用指针来表示节点之间的关系。在 `main` 函数中,我们创建了一颗二叉树,并使用 `preorderTraversal` 函数进行了先序遍历打印。
当然,C++ 中还有许多其他的树状结构实现方式,比如使用 STL 中的容器,例如 `vector` 或 `list` 等。