私はちょうどキュークラスを作ったので、今これを使う必要があります。私はこのアルゴリズム(単純)を理解するのを助けます
A、B、Cを文字として使用してすべての文字列を生成するためのC++プログラムを作成します。
文字列は以下の順序で発生する必要があります B C AA AB AC BA BB BC CA CB CC AAA AAB AAC ABA ABB ABC ACA ACB ACC など
これは、キューがオーバーフローするまでこれを行うことになっています。
今、私は教師が使用するアルゴリズムを理解していません。これはこれです。
キュー内のAとBとCで開始します。 "削除それを表示してから追加を追加Addを追加
このアドオンを追加すると、この特定の順序でこれらの文字がどのように取得されますか?
キューはchar配列を使用しているので、私はあなたが何を言っているのか理解していますが、私はその実装方法がわかりません –
これは基本的に幅優先検索の仕組みです。 –
@タイラー「頭」と「尾」の位置カウンターを保持します。あなたがポップしたときに 'myArray [head];'をポップし、 'head ++;'を使ってあなたがそれを過ぎ去っていることを示します。キューに追加するときは、それを追加するために 'myArray [tail] = whatImAdding;'に、それが成長したことを示す 'tail ++ 'に移動します。 'tail 'が配列の一部ではないものにアクセスしようとすると、これはオーバーフローします。 – corsiKa