#include <iostream>
using namespace std;
struct BiTNode{
char data;
struct BiTNode* lchild,* rchild; // 左右孩子
};
void CreatBiTree(BiTNode* &T){ // 先序递归创建二叉树
// 先按顺序驶入二叉树中节点的值(一个字符),空格字符代表空树
char ch;
for (int j = 0; j < 13; ++j) {
if((ch=getchar()) == '#') // getchar() 为逐个读入标准库函数
T = NULL;
else{
T = new BiTNode; // 产生新的子树
T->data = ch; // 由getchar()逐个读进来
CreatBiTree(T->lchild); // 递归创建左子树
CreatBiTree(T->rchild); // 递归创建右子树
}
}
}
void PreOrderTraverse(BiTNode* &T){ // 先序遍历二叉树
if(T){ // 当节点不为空时执行
cout << T->data;
PreOrderTraverse(T->lchild);
PreOrderTraverse(T->rchild);
}
else
cout << "";
}
void Inoder(BiTNode* &T){ // 中序遍历二叉树
if(T){
二叉树的遍历(C++)标有详细注解
最新推荐文章于 2024-03-10 15:20:09 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)