C语言实现利用二叉链表方法编程实现建立二叉树,按照二叉树的先序遍历算法逆序显示遍历访问的次序。
时间: 2024-02-28 19:57:27 浏览: 34
下面是一个利用二叉链表方法编程实现建立二叉树,并按照二叉树的先序遍历算法逆序显示遍历访问的次序的 C 代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
typedef char ElemType;
typedef struct BiNode {
ElemType data;
struct BiNode *lchild;
struct BiNode *rchild;
} BiNode, *BiTree;
// 按照先序遍历的方式建立二叉树
void createBiTree(BiTree *T) {
ElemType ch;
scanf("%c", &ch);
if (ch == '#') {
*T = NULL;
}
else {
*T = (BiNode *)malloc(sizeof(BiNode));
(*T)->data = ch;
createBiTree(&(*T)->lchild);
createBiTree(&(*T)->rchild);
}
}
// 逆序显示二叉树先序遍历结果
void reversePreOrder(BiTree T) {
if (T) {
printf("%c ", T->data); // 先输出根节点
reversePreOrder(T->rchild); // 再递归输出右子树
reversePreOrder(T->lchild); // 最后递归输出左子树
}
}
int main() {
BiTree T = NULL;
printf("请按先序遍历顺序输入二叉树的节点数据,其中用 # 代表空节点:\n");
createBiTree(&T);
printf("二叉树先序遍历结果的逆序为:\n");
reversePreOrder(T);
printf("\n");
return 0;
}
```
该代码实现了按照先序遍历的方式建立二叉树,并逆序显示二叉树先序遍历结果的功能。具体实现方法是利用递归的方式先输出根节点,再递归输出右子树和左子树,从而实现了逆序显示先序遍历结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)