public static class Combinatorics.RegularPermutationIterator
extends java.lang.Object
implements java.util.Iterator<int[]>
k == n.
Iterátor produkuje pro vyšší efektivitu pole int[]. Pokud je
potřeba permutovat, resp. variovat, objekty, prvky je třeba vložit do
číselně indexovaného pole (např. Element[]) nebo kolekce
(List<Element>) a generované hodnoty použít jako
indexy do tohoto pole:
Element[] elements = {new Element(1), new Element(2), new Element(3)};
for (RegularPermutationIterator it = new RegularPermutationIterator(elements.length); it.hasNext(); ) {
for (int i : it.next()) {
System.out.println(elements[i]);
}
System.out.println("------------");
}
| Constructor and Description |
|---|
RegularPermutationIterator(int n)
Vytvoří iterátor všech permutací (P(n) = n!
|
RegularPermutationIterator(int k,
int n)
Vytvoří iterátor všech variací (V(k, n) = n!
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
hasNext() |
int[] |
next() |
public RegularPermutationIterator(int n)
int[] o n
prvcích.
Pro n = 3 je generována následující posloupnost:
[0, 1, 2]
[0, 2, 1]
[1, 0, 2]
[1, 2, 0]
[2, 0, 1]
[2, 1, 0]
n - počet prvků (n-tice)java.lang.IllegalArgumentException - pokud je n < 1public RegularPermutationIterator(int k,
int n)
int[] o k prvcích.
Pro k = 2, n = 3 je generována následující posloupnost:
[0, 1]
[0, 2]
[1, 0]
[1, 2]
[2, 0]
[2, 1]
k - počet prvků k-tice vybírané z n-ticen - počet prvků (n-tice)java.lang.IllegalArgumentException - pokud není
1 <= k <= n