私はそれを正しく得ることができない次のputを開発したいと思います。 私はN長のベクトルを持っています。各要素は0からKになることができます。ここでNとKはユーザーによって与えられます。今私はすべての可能な解決策を歩くことができる関数を作成しようとしています。並べ替えアルゴリズムの一種を開発しようとしています
Nが4でK = 2とすると、すべての置換(?)をループしたいとします。
私は、0000でベクトルを埋めることが、その後1000年にベクトルを埋めるテスト、それをテストしたい0100など
それは0100と0010が異なっていることを知っておくことが重要です。 1100と0011など
これはループが印刷する必要があります(すべての可能なシーケンスがすべて出現する限り、0001または1000は0000以降になります)。
0000、1000年、0100、0010、0001、1100、1010、1001、1110、1101、0111、0101、...、2012、2211など。
私は組み合わせを試してみましたforループは、実際にそれを得ることはできません。 アプリケーションは、C++
であるあなたがきちんとそれを行うにはrecursiveソリューションをお勧めします、TNX
に来る重要なためですか? (例えば、1101は0002の前に来なければならない) – kennytm
与えられたN、Kに対して、Base K + 1にN桁の数字をすべて印刷する – Pheonix
おそらく、std :: next_permutationを試すべきでしょうか? http://stackoverflow.com/questions/4972470/what-is-the-time-complexity-of-stdnext-permutation-function-in-c – innochenti