![]() | ![]() |
zurück zum vorherigen Beispiel
Die Funktion "PM" ermittelt alle Permutationen eines übergebenen Vektors. Sie benötigt eine Hilfsfunktion, "PUTIN" genannt.
PM ist rekursiv. An der direkten Umsetzung der rekursiven Definition zeigt sich auch der teilweise funktionale Charakter von APL.
Der Algorithmus von "PM":
1. Die Permutationsmenge eines Vektors p mit Länge 1 ist der Vektor p selbst. (Zeile 1)
2. Die Permutationsmenge eines Vektors p mit Länge >1 bilde folgendermaßen: (Zeile 2)
a. Teile den Vektor in das erste Element t und den Restvektors r.
b. Ermittle alle Permutationen von r.
c. Erzeuge Varianten von jeder Permutation von r mit t an jeder möglichen Position jeder Permutation.
![]() |
Die Hilfsfunktion "PUTIN", die für einen übergebenen Vektor (rechtes Argument) und ein einzusetzendes Element (linkes Argument), alle Einsetzmöglichkeiten ermittelt (für einen Vektor mit Länge m genau m+1 Möglichkeiten).
![]() |
| made with |
![]() |