郁闷,不知道错在哪里

#include<stdio.h>
#include<malloc.h>
#define max 20
typedef struct tnode
{ char data;
  struct tnode *lchild,*rchild;
}BTNode;
void createbtnode(BTNode *&bt,char *&str)
{ int k,j=0,top=-1;
  char ch;
  BTNode *p=NULL,*st[max];
  bt=NULL;
  ch=str[j];
  while(ch!='/0')
  {
   switch(ch)
   {
   case '(':top++;st[top]=p;k=1;break;
   case ')':top--;break;
   case ',':k=2;break;
   default:p=(BTNode *)malloc(sizeof(BTNode));
    p->data=ch;
    p->lchild=p->rchild=NULL;
    if(bt==NULL)
     bt=p;
     else
    {
     switch(k)
     {
     case 1: st[top]->lchild=p;break;
     case 2: st[top]->rchild=p;break;
     }
    }

   }
   j++;
   ch=str[j];
  }
}
char biggestelem(BTNode *bt)
{
 char max1,max2;
 if(bt->lchild==NULL && bt->rchild==NULL)
  return bt->data;
 else
 {
  if(bt->data>max1)
   max1=bt->data;
   max2=biggestelem(bt->lchild);
  if(max2>max1)
   max1=max2;
   max2=biggestelem(bt->rchild);
  if(max2>max1)
   max1=max2;
  return max1;
 }
}
void main()
{
 BTNode *bt;
 char *str="a(b(e(g),f),c(,I))";
 char x;
 createbtnode(bt,str);
 x=biggestelem(bt);
 printf("%c",x);

}
求最大值 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值