#include<stdio.h>
typedef struct Node{
char data;
struct Node *LChild;
struct Node *RChild;
}BiTNode,*BiTree;
int CreateBiTree(BiTree *bitree){
char c = getchar();
if(c == '.') (*bitree) = NULL;
else
{
(*bitree) = (BiTree)malloc(sizeof(BiTNode));
(*bitree) ->data = c;
CreateBiTree(&((*bitree)->LChild));
CreateBiTree(&((*bitree)->RChild));
}
}
int PreOrder(BiTree root){
/*先序遍历二叉树, root为指向二叉树(或某一子树)根结点的指针*/
if(root != NULL){
printf("%c",root->data); /*输出根节点*/
PreOrder(root->LChild); /*先序遍历左子树*/
PreOrder(root->RChild); /*先序遍历右子树*/
}
}
InOrder(BiTree root)
/*中序遍历二叉树, root为指向二叉树(或某一子树)根结点的指针*/
{ if (root!=NULL){
InOrder(root ->LChild); /*中序遍历左子树*/
printf("%c",root ->data); /*访问根结点*/
InOrder(root ->RChild); /*中
二叉树
最新推荐文章于 2020-05-31 08:07:35 发布
这篇博客介绍了如何创建和遍历二叉树,包括先序、中序和后序遍历,并提供了计算叶子节点数量和二叉树深度的函数。通过示例代码展示了这些操作的具体实现。
摘要由CSDN通过智能技术生成