public static class Combinatorics.RepetitivePermutationIterator
extends java.lang.Object
implements java.util.Iterator<int[]>
int[]
. Pokud je potřeba 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 (RepetitivePermutationIterator it = new RepetitivePermutationIterator(4, elements.length); it.hasNext(); ) {
for (int i : it.next()) {
System.out.println(elements[i]);
}
System.out.println("------------");
}
Constructor and Description |
---|
RepetitivePermutationIterator(int k,
int n)
Vytvoří iterátor všech variací s opakováním (V'(k, n) = nk
číselných polí).
|
Modifier and Type | Method and Description |
---|---|
boolean |
hasNext() |
int[] |
next() |
public RepetitivePermutationIterator(int k, int n)
int[]
o k
prvcích.
Pro k = 2, n = 3
je generována následující posloupnost:
[0, 0]
[0, 1]
[0, 2]
[1, 0]
[1, 1]
[1, 2]
[2, 0]
[2, 1]
[2, 2]
k
- počet prvků v generovaných polích (k-tice), tedy velikost
polen
- počet možných prvků (n-tice)java.lang.IllegalArgumentException
- pokud je
k < 1 | n < 1