|
Permutations.m2 |
PROCEDURE GenPermutations(k, n: CARDINAL; perm: Permutation); (* perm[1..k] ist festgelegt, generiere alle Varianten fuer perm[k+1..n] *) VAR nperm: Permutation; i, j: CARDINAL; BEGIN IF k = n THEN GenPermutation(perm, n); ELSE FOR i := 1 TO k+1 DO nperm := perm; FOR j := 1 TO k DO IF nperm[j] >= i THEN INC(nperm[j]); END; END; nperm[k+1] := i; GenPermutations(k + 1, n, nperm); END; END; END GenPermutations; |
Die Permutationen werden 2x kopiert: Einmal bei der
Parameterübergabe und einmal bei der Bestimmung jeder neuen
Permutation.
|
Copyright © 1999 Andreas Borchert, in HTML konvertiert am 29.06.1999 |