汉扬编程 C语言入门 二叉树编程 先序建立 中序遍历

二叉树编程 先序建立 中序遍历

  #include
#include
typedef struct BiT{
char data;
struct BiT *lchild;
struct BiT *rchild;
}BiT;
BiT* CreateBiTree(BiT *T) {
//构造二叉链表表示的二叉树T
char ch;
scanf(\”%c\”,&ch);
if (ch==\’#\’) T = NULL;
else {
T = (BiT *)malloc(sizeof(BiT));
T->data = ch;
T->lchild=CreateBiTree(T->lchild);
T->rchild=CreateBiTree(T->rchild);
}
return T;
}
void PreOrderTraverse(BiT *T) {
// 先序遍历二叉树T
if (T) {
printf(\”%c\”,T->data);
PreOrderTraverse(T->lchild);
PreOrderTraverse(T->rchild);
}
}
void InOrderTraverse(BiT *T) {
// 中序遍历二叉树T
if (T) {
InOrderTraverse(T->lchild);
printf(\”%c\”,T->data);
InOrderTraverse(T->rchild);
}
}
void PostOrderTraverse(BiT *T) {
// 后序遍历二叉树T
if (T) {
PostOrderTraverse(T->lchild);
PostOrderTraverse(T->rchild);
printf(\”%c\”,T->data);
}
}
void main() {
printf(\”先序建树:\”);
BiT *T=CreateBiTree(T);
printf(\”

先序遍历:\”);
PreOrderTraverse(T);
printf(\”

中序遍历:\”);
InOrderTraverse(T);
printf(\”

后序遍历:\”);
PostOrderTraverse(T);
getchar();getchar();
}。
  

本文来自网络,不代表汉扬编程立场,转载请注明出处:http://www.hyzlch.com/cjia/6912.html

C/C++编程笔记:序列化二叉树(牛客试题),内含源码解析

如何使用 for 循环语句嵌套方法!

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部