重分酬谢,程序填空(4)
已知前序序列在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;
}