com.espertech.esper.collection
Class PermutationEnumeration

java.lang.Object
  extended by com.espertech.esper.collection.PermutationEnumeration
All Implemented Interfaces:
java.util.Enumeration<int[]>

public class PermutationEnumeration
extends java.lang.Object
implements java.util.Enumeration<int[]>

Provides a N! (n-faculty) number of permutations for N elements. Example: for 3 elements provides 6 permutations exactly as follows: {0, 1, 2} {0, 2, 1} {1, 0, 2} {1, 2, 0} {2, 0, 1} {2, 1, 0}


Constructor Summary
PermutationEnumeration(int numElements)
          Ctor.
 
Method Summary
protected static int faculty(int num)
          Computes faculty of N.
protected static int[] getFactors(int numElements)
          Returns factors for computing the permutation.
protected static int[] getPermutation(int numElements, int permutation, int[] factors)
          Returns permutation.
 boolean hasMoreElements()
           
 int[] nextElement()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PermutationEnumeration

public PermutationEnumeration(int numElements)
Ctor.

Parameters:
numElements - - number of elements in each permutation.
Method Detail

hasMoreElements

public boolean hasMoreElements()
Specified by:
hasMoreElements in interface java.util.Enumeration<int[]>

nextElement

public int[] nextElement()
Specified by:
nextElement in interface java.util.Enumeration<int[]>

getPermutation

protected static int[] getPermutation(int numElements,
                                      int permutation,
                                      int[] factors)
Returns permutation.

Parameters:
numElements - - number of elements in each permutation
permutation - - number of permutation to compute, between 0 and numElements!
factors - - factors for each index
Returns:
permutation

getFactors

protected static int[] getFactors(int numElements)
Returns factors for computing the permutation.

Parameters:
numElements - - number of factors to compute
Returns:
factors list

faculty

protected static int faculty(int num)
Computes faculty of N.

Parameters:
num - to compute faculty for
Returns:
N!

© 2006-2015 EsperTech Inc.
All rights reserved.
Visit us at espertech.com