重分酬谢,程序填空(4)

xiezhi 2003-01-10 02:06:47
已知前序序列在A数组中,中序序列在B数组中。下列算法是根据前序序列和中序序列创建二叉树。
bitree creatbt(char A[], char B[], int ia, int ib, int len)
{/* ia,ib初始值为0,len初始为遍历序列的长度。*/
bitree t;
int j,llen,rlen;
if (len<=0) t=NULL;
else {
t=(bitree)malloc(sizeof(tnode));
t->data=A[ia];
for(j=ib; i<ib+len; j++)
if (____1_____) break;
if (j>=(ib+len)) {
printf("error");
t=NULL;
return t;
}
llen=_____2______;
rlen=_____3______;
_____4______=creatbt(A,B,ia+1,ib,llen);
_____5______=creatbt(A,B,ia+len+1,j+1,rlen);
}
return t;
}
...全文
30 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
rushman 2003-01-10
  • 打赏
  • 举报
回复
bitree creatbt(char A[], char B[], int ia, int ib, int len)
{/* ia,ib初始值为0,len初始为遍历序列的长度。*/
bitree t;
int j,llen,rlen;
if (len<=0) t=NULL;
else {
t=(bitree)malloc(sizeof(tnode));
t->data=A[ia];
for(j=ib; i<ib+len; j++)
if (____B[j] == A[ia]_____) break;
if (j>=(ib+len)) {
printf("error");
t=NULL;
return t;
}
llen=_____j-ib______;
rlen=_____len-llen-1______;
_____t->lchild______=creatbt(A,B,ia+1,ib,llen);
_____t->rchild______=creatbt(A,B,ia+len+1,j+1,rlen);
}
return t;
}

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧