先序遍历二叉树
时间: 2023-07-01 09:29:23 浏览: 61
二叉树的几种操作,包括递归先序建立二叉树、先序遍历、中序遍历、后序遍历、非递归的各种遍历
好的,我以一棵二叉树为例进行先序遍历的演示。假设这棵二叉树的结构如下:
```
1
/ \
2 3
/ \
4 5
```
那么按照先序遍历的顺序,遍历这棵二叉树的结果应该是:
```
1 2 4 5 3
```
下面是使用C++语言实现先序遍历的代码:
```cpp
#include <iostream>
using namespace std;
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
void preOrder(TreeNode* root) {
if (root == nullptr) return;
cout << root->val << ' ';
preOrder(root->left);
preOrder(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);
preOrder(root);
return 0;
}
```
输出结果为:`1 2 4 5 3`。
阅读全文