我正在尝试在二叉树中编写广度优先搜索的代码.我已将所有数据存储在队列中,但我无法弄清楚如何前往所有节点并消耗所有孩子.
这是我在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);
}
}
Run Code Online (Sandbox Code Playgroud)
我已经将根数据排入队列,但它仍然无效.谁能指出我的错误?