c++写一个树结构
时间: 2023-07-04 08:14:32 浏览: 46
下面是一个简单的树结构的 C++ 实现:
```c++
#include <iostream>
#include <vector>
using namespace std;
class TreeNode {
public:
int val;
vector<TreeNode*> children;
TreeNode(int val) {
this->val = val;
}
};
int main() {
// 创建一个根节点
TreeNode* root = new TreeNode(1);
// 添加子节点
TreeNode* node2 = new TreeNode(2);
TreeNode* node3 = new TreeNode(3);
TreeNode* node4 = new TreeNode(4);
TreeNode* node5 = new TreeNode(5);
root->children.push_back(node2);
root->children.push_back(node3);
node2->children.push_back(node4);
node2->children.push_back(node5);
// 遍历树
cout << "树的遍历结果:";
cout << root->val << " ";
for (int i = 0; i < root->children.size(); i++) {
cout << root->children[i]->val << " ";
for (int j = 0; j < root->children[i]->children.size(); j++) {
cout << root->children[i]->children[j]->val << " ";
}
}
cout << endl;
return 0;
}
```
这个树结构包含一个根节点和多个子节点,每个节点有一个值和一个指向子节点的指针数组。在主函数中,我们创建了一个根节点和多个子节点,并将子节点添加到根节点中。最后,我们遍历了整个树,并输出每个节点的值。