6.65.txt
来自「数据结构实验 如下: Status Fibonacci(int k, int」· 文本 代码 · 共 28 行
TXT
28 行
void BuildBiTree(BiTree &bt, int ps, char *pre,
int is, char *ino, int n)
/* 当前要建立的子树bt的元素总数为n,*/
/* 元素在前序序列pre的起始位置为ps,*/
/* 元素在中序序列ino的起始位置为is */
{
int left_len,right_len,i;
if(n==0) {
bt=NULL;
return;
}
bt=(BiTNode*)malloc(sizeof(BiTNode));
bt->data=pre[ps];
for(i=is;ino[i]!=bt->data;i++);
//注意相对位置,计数时也需要注意
left_len=i-is;
right_len=n-1+is-i;
//左右子树
if(left_len){
BuildBiTree(bt->lchild,ps+1,pre,is,ino,left_len);
}
if(right_len>0){
BuildBiTree(bt->rchild,n-right_len+ps,pre,n-right_len+is,ino,right_len);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?