🌲 二叉树 - 先序创建一棵二叉树(C++) 🌱
在数据结构的学习中,二叉树是一个非常重要的概念。今天,让我们用C++实现一个通过先序遍历创建二叉树的小程序!✨
先序遍历的规则是:先访问根节点,再递归地先序遍历左子树和右子树。这个过程非常适合用来构建二叉树结构。
首先,我们需要定义二叉树的节点结构:
```cpp
struct TreeNode {
char val;
TreeNode left;
TreeNode right;
TreeNode(char x) : val(x), left(nullptr), right(nullptr) {}
};
```
接下来,编写一个函数来递归创建二叉树:
```cpp
TreeNode createTree(const std::string& preorder, int& index) {
if (index >= preorder.size() || preorder[index] == '') { // 遇到空节点标记
index++;
return nullptr;
}
TreeNode root = new TreeNode(preorder[index]);
index++; // 跳过当前节点
root->left = createTree(preorder, index); // 创建左子树
root->right = createTree(preorder, index);// 创建右子树
return root;
}
```
最后,在主函数中调用该方法即可完成二叉树的构建。例如,输入字符串`"ABC"`会生成如下二叉树:
```
A
/ \
B C
```
这样,我们就成功地用先序遍历创建了一棵二叉树!🌟
掌握这一技巧后,你就能更深入地理解二叉树的操作与应用啦!👏
免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。