c语言实现二叉树的代码

c语言实现二叉树的代码

ID:39548118

大小:69.00 KB

页数:10页

时间:2019-07-06

c语言实现二叉树的代码_第1页
c语言实现二叉树的代码_第2页
c语言实现二叉树的代码_第3页
c语言实现二叉树的代码_第4页
c语言实现二叉树的代码_第5页
资源描述:

《c语言实现二叉树的代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1,2两问的程序代码如下:#include "stdio.h" #include"malloc.h"  typedef struct BiTNode {  char data;  struct BiTNode *lchild,*rchild;  }BiTNode,*BiTree;  BiTree Create(BiTree T) {  char ch;  ch=getchar();  if(ch=='#')  T=NULL;  else {  T=(BiTNode *)malloc(sizeof(BiTNode)); T->data=ch; T->lchild=Cre

2、ate(T->lchild);  T->rchild=Create(T->rchild);  }  return T;  }  int node(BiTree T) {  int sum1=0,a,b;  10if(T)  {   if(T!=NULL)sum1++;   a=node(T->lchild);          sum1+=a;          b=node(T->rchild);          sum1+=b;   }  10return sum1;  } int mnode(BiTree T) {  int sum2=0,e,f;  if(T

3、)  {  if((T->lchild!=NULL)&&(T->rchild!=NULL))   sum2++;  e=mnode(T->lchild);      sum2+=e;      f=mnode(T->rchild);      sum2+=f;   }     return sum2; 10} void Preorder(BiTree T) {  if(T) {  printf("%c",T->data);  Preorder(T->lchild);  Preorder(T->rchild);  }  } int Sumleaf(BiTree T) {

4、  int sum=0,m,n;  if(T) {  if((!T->lchild)&&(!T->rchild))  sum++;  m=Sumleaf(T->lchild);  sum+=m;  n=Sumleaf(T->rchild);  sum+=n;  }  return sum;}  void zhongxu(BiTree T) {  10if(T) {  zhongxu(T->lchild);  printf("%c",T->data);  zhongxu(T->rchild);  }  }  void houxu(BiTree T) {  if(T) {

5、  houxu(T->lchild);  houxu(T->rchild);  printf("%c",T->data);  } }  main() {  BiTree T;  int sum,sum1,sum3; printf("请输入字符串:");  T=Create(T); printf("前序遍历:"); Preorder(T); printf(""); 10 printf("中序遍历:"); zhongxu(T); printf("");   printf("后序遍历:");  houxu(T);  printf("");  su

6、m=Sumleaf(T); printf("树叶数为:");  printf("%d",sum); printf(""); printf("树结点数为:");  sum1=node(T); printf(""); printf("%d",sum1); printf(""); printf("树满结点数为:");sum3=mnode(T); printf("%d",sum3); printf(""); }103,4两问的程序代码如下:#includeJK#include#defineNULL0#defin

7、eMAX100/*定义二叉树*/typedefstructbitnode{chardata;structbitnode*lchild,*rchild;}bitnode;/*定义栈元素的类型*/typedefstructnode{structbitnode*p;}node;/*定义栈*/typedefstructstack{node*base;node*top;intsize;}stack;/*全局变量*/structbitnode*T;stack*s;inti=0,a;/*a为二叉树的结点总数;i为访问结点时的计数*//*构建空栈*/stack*in

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。