应用题 32.有n个结点的完全二叉树存放在一维数组A[1..n]中,试据此建立一棵用二叉链表表示的二叉树,根由tree指向。(可不定义结构体)
【正确答案】BiTree Creat(ElemType A[],int i){
//n个结点的完全二叉树存于一维数组A中,本算法
//据此建立以二叉链表表示的完全二叉树
RiTree tree.
if(i<=n){
tree=(BiTree)malloc(sizeof(BiNode))
if(2*i>n)tree一>lchild=null;
else tree->lchild=Creat(A,2 * i);
if(2*i+1>n)tree一>rchild=null;
else tree->rchild=Creat(A,2*i+1);
}
return(tree);
}//Creat
提示:初始调用时i=1。
【答案解析】