再帰関数で全く作れないというわけではないようです。
なぜ Haskell ではキューが軽んじられているか? - あどけない話
上記記事では幅優先探索を再帰関数で実装しています(そもそもHaskellにはループ構文がないので再帰で書くしかないのですが)。キューの代わりに木を使ってそれを探索するようにしているようです。(細かい所は追ってないので私も詳しくは説明できないです)
ただ、この実装は余再帰というものを使っています。遅延評価であるHaskellでは問題ないようですが、正格評価であるC/C++ではスタックオーバーフローを起こす場合があるため、使えないと思われます(末尾再帰最適化すらできないJavaは論外)。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。