Ich versuche, eine Funktion zu schreiben, die ein Array am Eingang nimmt und ein Array von Arrays zurückgibt, das alle möglichen Teilmengen des Eingangsarrays enthält (Potenzmenge ohne leeres Element). Zum Beispiel für die Eingabe: [1, 2, 3]
wäre das Ergebnis [[1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]]
.
Diese Funktion erledigt den Job in Python:
%Vor%Aber ich suche nach einer Implementierung in Delphi. Ist dies möglich, oder sollte ich etwas anderes suchen?
Meine andere Antwort ist ein Stück Code, das ich vor einiger Zeit erstellt habe, als ich in Delphi 2007 gebraucht habe. Um es generischer zu machen, können Sie Generika verwenden. Jetzt habe ich noch keine Generika benutzt, aber es scheint so zu funktionieren. Ich muss zugeben, ich musste hier einen Blick darauf werfen die Syntax. Wenn es einen einfacheren Weg gibt, hoffe ich, dass es jemand anders posten kann.
Der Code ist tatsächlich praktisch unverändert, außer dem Namen des Eingabeparameters. (Yay, Generika!)
%Vor%Und verwende so:
%Vor%Tags und Links delphi combinations set