void LevelOrder(BTNode *b)
{
BTNode *p;
BTNode *qu[MaxSize];
int front, rear;
front = rear = -1; rear++;
qu[rear] = b; while (front != rear)
{
front = (front + 1) % MaxSize;
p = qu[front];
printf("%c", p->data);
if (p->lchild != NULL)
{
rear = (rear + 1) % MaxSize;
qu[rear] = p->lchild;
}
if (p->rchild != NULL) {
rear = (rear + 1) % MaxSize;
qu[rear] = p->rchild;
}
}
}
构建一个二叉树结点指针的数组,实现队列的数据结构,用于辅助二叉树的层次遍历。
结构体指针数组~~~~~~