二叉树建树问题
Lynan 2005-12-30 12:16:11 题目:已知一棵完全二叉树存于顺序表sa中,sa.elem[1...sa.last]含结点值。试编写算法由此顺序存储结构建立该树的二叉链表!
我写了一个,请大家看看有没有什么错误,或有什么地方可以简化
Status CreateBitree_SqList(Bitree &T,SqList sa){
InitQueue(Q);
T=(BTNode *)malloc(sizeof(BTNode));
T->data=sa.elem[1];
int i=2;
EnQueue(Q,T);
while(!QueueEmpty){
DeQueue(Q,q);
if(sa.elem[i])
q->lchild=(BTNode *)malloc(sizeof(BTNode));
q->lchild->data=sa.elem[i++];
EnQueue(Q,q->lchild);
if(sa.elem[i])
q->rchild=(BTNode *)malloc(sizeof(BTNode));
q->rchild->data=sa.elem[i++];
EnQueue(Q,q->rchild);
}//while
return OK;
}//CreateBitree_SqList