- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
/* 树子系统 */
#include stdio.h
#include malloc.h #define MAX 100
int count=0; /* 定义计算结点个数的变量 */ typedef struct tnode
{
char data;
struct tnode *lchild,*rchild;
}BT;
BT *CreateBTree()
{
BT *t;
char ch;
scanf(%c,ch);
getchar();
if(ch==0)
t=NULL;
else
{
t=(BT *)malloc(sizeof(BT));
t-data=ch;
,t-data);,t-data);printf(请输入%c结点的左孩子结点:
,t-data);
,t-data);
printf(请输入%c结点的右孩子结点: t-rchild=CreateBTree();
}
return t;
}
/* 用广义表表示法显示二叉树
/* 用广义表表示法显示二叉树 */
/*当二叉树非空时 */
/*输入该结点数据域 */
/* 若其左子树非空 */
/* 输入左括号 */
/* 递归调用该函数输出其左子树各结点 */
/* 若其右子树非空 */
/* 输出逗号 */
/* 递归调用该函数输出其右子树各结点 */
{ if (T!=NULL)
{ printf(%c,T-data);
if(T-lchild!=NULL)
{ printf(();
ShowBTree(T-lchild);
if(T-rchild!=NULL)
{ printf(,);
ShowBTree(T-rchild);
}
printf());
}
else
/*
/* 二叉树左子树为空,右子树不为空时 */
if(T-rchild!=NULL)
{
/* 输入左括号
/* 输入左括号 */
/* 递归调用该函数输出其左子树各结点 */
/* 若其右子树非空 */
/* 输出逗号 */
/*递归调用该函数输出其右子树各结点 */
ShowBTree(T-lchild);
if(T-rchild!=NULL)
{ printf(,);
ShowBTree(T-rchild);
} printf());
}
}
}
/* 先序遍历二叉树
/* 先序遍历二叉树 T*/
/* 递归调用的结束条件 */
/* 输出结点的数据域 */
/* 先序递归遍历左子树 */
/* 先序递归遍历右子树 */
{ if(T==NULL) return;
else
{ printf(%c,T-data);
PreOrder(T-lchild);
PreOrder(T-rchild);
}
}
/* 中序遍历二叉树
/* 中序遍历二叉树 T*/
/* 递归调用的结束条件 */
/* 中序递归遍历左子树 */
/* 输出结点的数据域 */
/* 中序递归遍历右子树 */
{ if(T==NULL) return;
else
{ InOrder(T-lchild);
printf(%c,T-data);
InOrder(T-rchild);
}
}
/* 后序遍历二叉树
/* 后序遍历二叉树 T*/
/* 递归调用的结束条件 */
/* 后序递归遍历左子树 */
/* 后序递归遍历右子树 */
/* 输出结点的数据域 */
{ if (T==NULL) return;
else
{ PostOrder(T-lchild);
PostOrder(T-rchild);
printf(%c,T-data);
}
}
/* 按层次遍历二叉树
/* 按层次遍历二叉树 T*/
/* 定义队头队尾指针 */
/* 定义循环队列,存放结点指针 */
{ int f,r;
BT *p,*q[MAX];
p=T;
if(p!=NULL)
{ f=1; q[f]=p; r=2; }
while(f!=r)
{ p=q[f];
printf(%c,p-data); if(p-lchild!=NULL)
{ q[r]=p-lchild; r=(r+1)%MAX; }
if(p-rchild!=NULL)
{ q[r]=p-rchild; r=(r+1)%MAX; }
f=(f+1)%MAX;
}
}
TOC \o 1-5 \h \z /* 若二叉树非空,则根结点地址入队 */
/* 队列不空时 */
/* 访问队首结点的数据域 */
/* 将队首结点的左孩子入队 */
/* 将队首结点的右孩子入队 */
void Leafnum(BT *T) /* 求二叉树叶子结点数 */
{ if(T) /* 若树不为空 */
{ if(T-lchild==NULL T-rchild==NULL) cou
您可能关注的文档
最近下载
- 直线和圆的位置关系(全国优质课赛课公开课一等奖)课件-九年级数学新人教版上册.pptx VIP
- 标志抽象图形设计技法群化.ppt VIP
- 高考英语词汇3500电子版.pdf VIP
- 三相异步电动机说课.ppt VIP
- 圆的有关性质--圆(全国优质课赛课公开课一等奖)课件-九年级数学新人教版上册.pptx VIP
- 圆的有关性质--圆周角(全国优质课赛课公开课一等奖)课件-九年级数学新人教版上册.pptx VIP
- 圆的有关性质--垂直于弦的直径(全国优质课赛课公开课一等奖)课件-九年级数学新人教版上册.pptx VIP
- 界面砂浆、抗裂砂浆课件.doc VIP
- 《秘书沟通与协调》课件.ppt VIP
- 肠道菌群糖尿病及肥胖防治新靶点讲解学习.pptx VIP
原创力文档


文档评论(0)