c语言二叉链实现二叉树先序中序后序遍历操作
时间: 2023-11-24 10:06:57 浏览: 94
以下是C语言二叉链实现二叉树先序、中序、后序遍历的操作方法:
1. 定义二叉树结构体
```c
typedef struct BiTNode {
char data; // 数据域
struct BiTNode *lchild, *rchild; // 左右子树指针
} BiTNode, *BiTree;
```
2. 先序遍历
```c
void PreOrderTraverse(BiTree T) {
if (T == NULL) {
return;
}
printf("%c ", T->data); // 输出结点数据
PreOrderTraverse(T->lchild); // 遍历左子树
PreOrderTraverse(T->rchild); // 遍历右子树
}
```
3. 中序遍历
```c
void InOrderTraverse(BiTree T) {
if (T == NULL) {
return;
}
InOrderTraverse(T->lchild); // 遍历左子树
printf("%c ", T->data); // 输出结点数据
InOrderTraverse(T->rchild); // 遍历右子树
}
```
4. 后序遍历
```c
void PostOrderTraverse(BiTree T) {
if (T == NULL) {
return;
}
PostOrderTraverse(T->lchild); // 遍历左子树
PostOrderTraverse(T->rchild); // 遍历右子树
printf("%c ", T->data); // 输出结点数据
}
```
阅读全文