求高手帮我解释一程序
void LevelOrder(BTNode *bt) /*层次遍历二叉树bt*/ { BTNode* queue[MAXSIZE];
int front,rear;
if (bt==NULL) return;
front=0; /*非循环队列*/
rear=0;
queue[rear++]=bt;
while(front!=rear)
{printf("%c",queue[front]->cdata); /*访问队首结点的数据域*/
if (queue[front]->lchild!=NULL) /*将队首结点的左孩子指针入队列*/
{ queue[rear]=queue[front]->lchild;rear++;
}
if (queue[front]->rchild!=NULL) /*将队首结点的右孩子指针入队列*/
{ queue[rear]=queue[front]->rchild; rear++;
}
谁能帮我解释一下什么意思
尤其是这部分if (queue[front]->lchild!=NULL) /*将队首结点的左孩子指针入队列*/
{ queue[rear]=queue[front]->lchild;rear++;
}
if (queue[front]->rchild!=NULL) /*将队首结点的右孩子指针入队列*/
{ queue[rear]=queue[front]->rchild; rear++;
}