Einzelnen Beitrag anzeigen

Dejan Vu
(Gast)

n/a Beiträge
 
#8

AW: Permutation (mögliche Kombinationen)

  Alt 16. Jun 2014, 18:44
Das ist vielleicht ein schönes Thema für SQL (Daten-Mengen), Kreuzprodukte, ..
Sobald man 2. Mengen vereint und keine geeigneten Join Kriterien festlegt, permutiert es quasi von allein.
Äh, nee. Wie bekommt man denn die Permutationen von '123' mit SQL hin? Oder reden wir von allen 3-stelligen Wörtern des Alphabetes ('1','2','3')? Ein Cross join liefert dir wirklich alle Kombinationen, aber hier steht was von 'Permutation' und wenn das mit SQL geht, fress ich ... ach nee, das geht ja...

Ach, hier noch eine kleine Routine:
Delphi-Quellcode:
Procedure Perm (Const aString : String);
  Procedure _Perm (Const aPrefix, aString : String);
  Var
    i,len : Integer;

  Begin
    len := Length (aString);
    If len = 1 Then
      Log (aPrefix+aString)
    Else For i:=1 to l do
      _Perm (aPrefix+aString[i], Copy (aString,1,i-1)+Copy (aString,i+1,l-i));
  End;

Begin
  _Perm ('',aString);
End;
Diue Prozedure 'Log' musst Du selbst schreiben (Ausgabe in Memo, speichern in Stringlist o.ä.)

Geändert von Dejan Vu (16. Jun 2014 um 19:28 Uhr)
  Mit Zitat antworten Zitat