wtree.c
来自「这是数据结构中的二叉树遍历和输出叶子的数量,传上来大家互相学习,大家共同进步」· C语言 代码 · 共 67 行
C
67 行
#include "stdio.h"
#include "stdlib.h"
typedef struct BitNode
{ char data;
struct BitNode *lchild,*rchild;
}BiTNode,*BiTree;
BiTree CreateBiTree()
{ BiTree T;
char ch;
scanf("%c",&ch);
if(ch==' ')T=NULL;
else
{ T=(BiTNode *)malloc(sizeof(BiTNode));
T->data=ch;
T->lchild=CreateBiTree();
T->rchild=CreateBiTree();
}
return T;
}
void PreOrderTraverse(BiTree T)
{ if(T!=NULL)
{ printf("%c",T->data);
PreOrderTraverse(T->lchild);
PreOrderTraverse(T->rchild);
}
}
void InOrderTraverse(BiTree T)
{ if(T!=NULL)
{ InOrderTraverse(T->lchild);
printf("%c",T->data);
InOrderTraverse(T->rchild);
}
}
void PostOrderTraverse(BiTree T)
{ if(T!=NULL)
{ PostOrderTraverse(T->lchild);
PostOrderTraverse(T->rchild);
printf("%c",T->data);
}
}
int LeavesCount(BiTree T)
{
if(T==NULL) return 0;
else if(!T->lchild && !T->rchild)return 1;
else return LeavesCount(T->lchild)+LeavesCount(T->rchild);
}
main()
{ BiTNode *T;
int i=0;
T=CreateBiTree();
PreOrderTraverse(T);
printf("\n");
InOrderTraverse(T);
printf("\n");
PostOrderTraverse(T);
printf("\n");
i=LeavesCount(T);
printf("The number of Leaves is %d\n",i);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?