二叉树的先中后序遍历实现代码c++
时间: 2023-06-02 13:06:15 浏览: 87
以下是二叉树先中后序遍历的实现代码C语言版:
先序遍历:
```c
void preOrderTraversal(Node *root) {
if(root == NULL) return;
printf("%d ", root->data); // 先访问根节点
preOrderTraversal(root->left); // 再遍历左子树
preOrderTraversal(root->right); // 最后遍历右子树
}
```
中序遍历:
```c
void inOrderTraversal(Node *root) {
if(root == NULL) return;
inOrderTraversal(root->left); // 先遍历左子树
printf("%d ", root->data); // 再访问根节点
inOrderTraversal(root->right); // 最后遍历右子树
}
```
后序遍历:
```c
void postOrderTraversal(Node *root) {
if(root == NULL) return;
postOrderTraversal(root->left); // 先遍历左子树
postOrderTraversal(root->right); // 再遍历右子树
printf("%d ", root->data); // 最后访问根节点
}
```
注意,以上代码中的`Node`结构体需要提前定义。
阅读全文