鱼C论坛

 找回密码
 立即注册
查看: 1378|回复: 0

大神们谁给我看看啊啊

[复制链接]
发表于 2014-11-28 16:55:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
#include<stdlib.h>
typedef struct node{
int data;
struct node *lchild,*rchild;
} BTroot;
int sum=0,m=sizeof(BTroot);
BTroot *root;
void  CR_bt(int x)  //构建而擦排序书
{  BTroot *s,*p,*q;
   s=(BTroot *)malloc(m);
   s->data=x;
   s->rchild=NULL;s->rchild=NULL;
   if(!root) {root=s;return;}
   p=root;

   while(p!=NULL){ q=p;
   if(p->data==x) {printf("the number is hava\n");return ;}
     else if(p->data>x) p=p->lchild;
           else p=p->rchild;
   }
if(x>q->data)q->rchild=s;
else q->lchild=s;
}

void Nchild_count(BTroot *root)
{  if(root!=NULL){
        if((root->lchild==NULL)&&(root->rchild==NULL)){
         sum++; printf("这个叶子结点的值为%d",root->data);}
     Nchild_count(root->lchild);
     Nchild_count(root->rchild);}


}
int depth( BTroot  *root)
{ int d,p;
  p=0;
  if(root==NULL)  return p;
  else {d=depth(root->lchild);
         if(d>p)p=d;
        d=depth(root->rchild);
                  if(d>p)p=d;
  }
p=p+1;
return p;
}


main()
{  int x,p;
   root=NULL;
do {  printf("输入要建立二叉树结点值\n");
      scanf("%d",&x);
      CR_bt(x);
}
          while(x!=99);

Nchild_count(root);
printf("叶子结点的总数为=%d",sum);
p=depth(root);
printf("树的深度为=%d",p);
}

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 10:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表