编写算法求出二叉树中值最大的结点

 我来答
xmcong2000
2014-11-30 · TA获得超过3471个赞
知道大有可为答主
回答量:1919
采纳率:0%
帮助的人:1283万
展开全部

前面有很多同学已经给出答案了:

#include <stdio.h>//头文件
#include <stdlib.h>
#include <malloc.h>
typedef struct BiTNode
{
    int data;
    struct BiTNode *lchild,*rchild;

BiTNode,*BiTree;//定义结点类型
int max=-100;//把max定义得足够小
BiTree CreateBiTree()//先序递归创建树
{
    int p;BiTree T;
    scanf("%d",&p);//注意每输入两个值的时候用空格各隔开
    if(p==0)
        T=NULL;
    else
    {
        T=(BiTNode *)malloc(sizeof(BiTNode));//为结点开辟空间
        T->data=p;
        T->lchild=CreateBiTree();
        T->rchild=CreateBiTree();
    }
    return (T);
}
int Max(BiTree T)//求最大(递归算法
{
     if(T==NULL)
     return 0;
    if(T!=NULL)
   {
       if(T->data>max)
       max=T->data;
       Max(T->lchild);
       Max(T->rchild);
      
    }
    return max;
}
void main()//主函数
{
    BiTree Ta;
    Ta=CreateBiTree();
     printf("最大值是:\n");
     printf("%d",Max(Ta));
   }
差点有腹肌
2018-05-31
知道答主
回答量:10
采纳率:0%
帮助的人:7573
展开全部
可以设个全局变量噢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式