zjwz • 1个月前
using namespace std;
//二叉树链式存储 typedef struct BiTNode {
char data; //数据域
struct BiTNode* Lchild, * Rchild; //左右孩子指针
}BiTNode, * BiTree;
//先序遍历 void PreOrder(BiTree T) {
if (T != NULL) {
cout << T->data;
PreOrder(T->Lchild);
PreOrder(T->Rchild);
}
} //中序遍历 void InOrder(BiTree T) {
if (T != NULL) {
InOrder(T->Lchild);
cout << T->data;
InOrder(T->Rchild);
}
} //后序遍历 void PostOrder(BiTree T) {
if (T != NULL) {
PostOrder(T->Lchild);
PostOrder(T->Rchild);
cout << T->data;
}
} //创建二叉树 void Creat_Tree(BiTree& T) {
char data1;
cin >> data1;
if (data1 == '.') {
T = NULL;
}
else {
T = new BiTNode;
T->data = data1;
Creat_Tree(T->Lchild);
Creat_Tree(T->Rchild);
}
}
int main() {
//定义一棵空树
BiTree root;
Creat_Tree(root);
InOrder(root);
printf("\n");
PostOrder(root);
printf("\n");
return 0;
}
评论:
请先登录,才能进行评论