Ich weiß, der übliche Ansatz für "variable Anzahl von for Schleifen" soll eine rekursive Methode verwenden. Aber ich frage mich, ob ich das ohne Rekursion lösen könnte und stattdessen mit Stack
, da Sie Rekursion mit der Verwendung eines Stapels umgehen können.Variable Anzahl von for-Schleifen ohne Rekursion aber mit Stack?
Mein Beispiel:
Ich habe eine variable Anzahl von Sammlungen und ich brauche jedes Element jeder Kollektion mit jedem anderen Punkt der anderen Sammlungen zu kombinieren.
// example for collections A, B and C:
A (4 items) + B (8 items) + C (10 items)
4 * 8 * 10 = 320 combinations
Ich muss alle diese 320 Kombinationen durchlaufen. Zur Kompilierzeit weiß ich nicht, ob B oder C oder D existieren. Wie würde eine Lösung ohne rekursive Methode, aber mit der Verwendung einer Instanz von Stack aussehen?
Edit:
Ich erkennen Stapel nicht notwendig ist, hier überhaupt, während Sie die Rekursion mit einem einfachen int-Array und ein paar While-Schleifen zu vermeiden. Danke für Hilfe und Info.
Nun, technisch gesehen, wird unter Verwendung von Rekursion das im Programm Funktionsaufruf-Stack: p – Nyerguds
Meine Frage wäre: Da eine rekursive Methode die offensichtliche logische Wahl für ein solches Problem ist, warum möchten Sie die Lösung unnötig kompliziert machen? Es ist wie die Frage "Wie kann ich 5.5 und 4.6 nur mit Ints hinzufügen?" – phil13131
@ phil13131 Ihr Beispiel ist unmöglich. Sagst du, meine Frage fragt nach dem Unmöglichen? Ich denke nicht. – Bitterblue