二分木で幅優先探索のコードを書こうとしています。すべてのデータをキューに保存しましたが、すべてのノードに移動してすべての子を消費する方法がわかりません。
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);
}
}
すでにルート データをエンキューしましたが、まだ機能していません。誰かが私の間違いを指摘できますか?