c语言二叉树递归遍历
时间: 2023-10-04 16:04:40 浏览: 158
对于C语言的二叉树递归遍历,可以分为先序遍历、中序遍历和后序遍历。先序遍历是先访问根结点,然后递归遍历左子树和右子树。中序遍历是先递归遍历左子树,然后访问根结点,最后递归遍历右子树。后序遍历是先递归遍历左子树和右子树,最后访问根结点。
以下是C语言中二叉树递归遍历的代码示例:
先序遍历:
```c
void PreOrderTraverse(BiTree T) {
if(T == NULL) {
return;
}
printf("%C",T->data); //显示结点数据
PreOrderTraverse(T->lchild); //先序遍历左子树
PreOrderTraverse(T->rchild);//最后先序遍历右子树
}
```
中序遍历:
```c
void InOrderTraverse(BiTree T) {
if(T == NULL) {
return;
}
InOrderTraverse(T->lchild); //中序遍历左子树
printf("%C",T->data); //显示结点数据
InOrderTraverse(T->rchild);//最后中序遍历右子树
}
```
后序遍历:
```c
void PostOrderTraverse(BiTree T) {
if(T == NULL) {
return;
}
PostOrderTraverse(T->lchild); //后续序遍历左子树
PostOrderTraverse(T->rchild);//后序遍历右子树
printf("%C",T->data); //显示结点数据
}
```
请问还有其他相关问题吗?
相关问题:
1. 请问C语言中如何实现二叉树的非递归遍历?
2. 如何计算二叉树的高度?
3. 如何从文件中读取二叉树并以文件的形式输出遍历结果?
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)