二叉树利用队列进行层次遍历,哪位大神帮忙解答一下,谢谢,谢谢
//利用队列进行层次遍历
void LevelOrderTraverse(BiTree T){
LinkQueue *q = (LinkQueue *)malloc(sizeof(LinkQueue));
BiTree a;
if(T){ InitQueue(q); EnQueue(q,T);
//当队列不为空时,出队一个元素放入a的地址里,输出a的data域的值
//如果a的左孩子不为NULL,将a的左孩子入队q
//如果a的右孩子不为NULL,将a的右孩子入队
while(!QueueEmpty(*q)) {
}
}
}
void Traversal(TreeNode *root){ TreeNode *cur; EnQueen(root); //根节点入队,如果为空入队失败 while(!QueenNull()) //如果队列不为空 { cur = OutQueen(); //出队 print(cur); //访问当前出队节点 EnQueen(cur->left); //入队左节点 EnQueen(cur->right); //入队右节点 }}
直接解答就行热门标签: