Ich habe eine Methode, die alle möglichen Kombinationen von 3 Elementen in einer gegebenen Zeichenfolge zurückgibt.wrap drei verschachtelte für Schleifen in Rekursion
void FindAllCombinationsBy3(string &str, int start)
{
for (int i = 0; i < str.length() - 2; i++)
{
for (int j = i + 1; j < str.length() - 1; j++)
{
for (int k = j + 1; k < str.length(); k++)
{
cout << str[i] << str[j] << str[k] << endl;
}
}
}
return;
}
Es funktioniert gut und gibt dieses: abc abd abe abf acd ace ACF ade. Aber ich möchte eine rekursive Version der Methode schreiben, die einen Parameter n der Kombinationslänge erhält. Also nicht nur 3, sondern eine benutzerdefinierte Länge. Es sollte wahrscheinlich so aussehen. Aber ich habe mich gerade mit diesen Rekursionsbedingungen verlaufen.
Ich weiß, dass dies eine Million Mal gefragt wurde, aber andere Lösung half noch nicht.
i an einem Punkt nahe war, aber didn 't akkumulieren Zeichen wie Sie. es half – earthQuake