#include <iostream>
#include <stdio.h>
#include <queue>
#include <stdlib.h>
using namespace std;
typedef struct BiTNode {
char data;
struct BiTNode *lchild, *rchild;
} BiTNode, *BiTree;
BiTree CreatBiTree() {
BiTree T;
char c;
scanf("%c", &c);
if (c == '#') {
T = NULL;
} else {
T = (BiTree)malloc(sizeof(BiTNode));
T->data = c;
T->lchild = CreatBiTree();
T->rchild = CreatBiTree();
}
return T;
}
void visit(char data) {
printf("%c\n", data);
}
void PreOrderTraverse(BiTree T) { //递归
if (T) {
visit(T->data);
PreOrderTraverse(T->lchild);
PreOrderTraverse(T->rchild);
}
}
void IreOrderTraverse(BiTree T) {
if (T) {
IreOrderTraverse(T->lchild);
visit(T->data);
IreOrderTraverse(T->rchild);
}
}
void LastreOrderTraverse(BiTree T) {
if (T) {
LastreOrderTraverse(T->lchild);
LastreOrderTraverse(T->rchild);
visit(T->data);
}
}
【无标题】二叉树修改
最新推荐文章于 2024-07-25 09:34:23 发布