我剛做了一個隊列類,現在我不得不用它來做到這一點。幫我理解這個算法(簡單)
編寫一個C++程序來生成使用A,B和C作爲字母的所有字符串。
的字符串必須按以下順序生成: 甲 乙 Ç AA AB AC BA BB BC CA CB CC AAA AAB AAC ABA ABB ABC ACA ACB ACC 等
它應該這樣做,直到我的隊列溢出。
現在,我只是不明白老師建議使用的算法,這是這樣的。
從隊列中的A和B以及C開始。 「刪除它顯示它然後添加添加添加」
添加添加的東西把我拋出,它是如何完成讓這些字母在這個特定的順序?
嗯,隊列使用一個字符數組,所以我明白你在說什麼,但我不知道我怎麼能實現這個 –
這基本上是一個廣度優先搜索的工作原理。 –
@Tyler保留「頭」和「尾」位置計數器。當你「流行」時,把'myArray [head];'當作你彈出的,然後去'head ++;'來表示你正在移動它。當你添加到隊列中時,去'myArray [tail] = whatImAdding;'添加它,'tail ++'來表示它已經增長。當'tail'嘗試訪問不屬於數組的部分時,這會溢出。 – corsiKa