我正在尝试编写二叉树广度优先搜索的代码。我已经将所有数据存储在队列中,但我无法想出如何遍历所有节点并访问它们的所有子节点。
以下是我的C代码:
以下是我的C代码:
void breadthFirstSearch (btree *bt, queue **q) {
if (bt != NULL) {
//store the data to queue if there is
if (bt->left != NULL) enqueue (q, bt->left->data);
if (bt->right != NULL) enqueue (q, bt->right->data);
//recursive
if (bt->left != NULL) breadthFirstSearch (bt->left, q);
if (bt->right != NULL) breadthFirstSearch (bt->right, q);
}
}
我已经将根数据加入了队列,但仍然不起作用。有人能指出我的错误吗?