C++实现二叉树的构建与先序、中序、后序遍历
```cpp #include <iostream> #include <vector> using namespace std; // 定义二叉树节点结构 struct TreeNode { int left; int right; TreeNode() : left(0), right(0) {} }; // 先序遍历函数 void preOrder(vector<TreeNode>& tree, int node) { if (node == 0) return; cout << node << " "; preOrder(tree, tree[node - 1].left); preOrder(tree, tree[node - 1].right); } // 中序遍历函数 void inOrder(vector<TreeNode>& tree, int node) { if (node == 0) return; inOrder(tree, tree[node - 1].left); cout << node << " "; inOrder(tree, tree[node - 1].right); } // 后序遍历函数 void postOrder(vector<TreeNode>& tree, int node) { if (node == 0) return; postOrder(tree, tree[node - 1].left); postOrder(tree, tree[node - 1].right); cout << node << " "; } int main() { int n; cin >> n; vector<TreeNode> tree(n); // 构建二叉树 for (int i = 0; i < n; ++i) { int left, right; cin >> left >> right; tree[i].left = left; tree[i].right = right; } // 进行先序遍历 preOrder(tree, 1); cout << endl; // 进行中序遍历 inOrder(tree, 1); cout << endl; // 进行后序遍历 postOrder(tree, 1); cout << endl; return 0; } ``` 上述代码的思路是先定义二叉树节点结构,然后根据输入构建二叉树。通过递归的方式实现先序、中序和后序遍历函数,最后在主函数中调用这些遍历函数输出结果。 ######[AI问答 | 511点数解答 | 2026-02-15 21:00:27]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)322
- JS 巧用 for in 循环逐行输出对象 key:value,还有关键判断!( | 208点数解答 | 2024-05-20 22:15:55)354
- C++实现顺序存储结构基本操作:初始化、插入、删除等全解析(GPT | 1743点数解答 | 2024-09-26 00:20:17)264
- Python知识大挑战:10 道题揭秘编程关键要点与答案(字节豆包 | 296点数解答 | 2024-10-20 19:31:00)225
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)290
- iOS开发:手把手教你完整实现代理模式,含声明与实现步骤!(阿里通义 | 268点数解答 | 2023-11-08 00:39:55)238
- JavaScript 开发:用 Animation 实现自定义动画的简易教程 (阿里通义 | 333点数解答 | 2023-11-09 01:50:07)229
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)427
- 用 JS 的 while 循环实现 1 到 100 相加并输出到页面的代码揭秘( | 47点数解答 | 2024-05-20 22:16:48)338
- Vue.js 与 Matter.js 碰撞:轻松实现物理模拟全攻略 (讯飞星火 | 522点数解答 | 2024-05-29 22:26:06)403
- JS实现移动端网页快捷键创建方式及注意事项(阿里通义 | 284点数解答 | 2024-06-05 19:02:59)237
- 车载系统 UML 类图设计:涵盖 Car、Engine、娱乐系统等的完整类定义与关系解析 (字节豆包 | 760点数解答 | 2024-08-15 22:51:04)291