package jaea.optimization.tools; /** * Class to create random permutation (for shuffling) * @author Le Minh Nghia, NTU-Singapore * */ public class Permutation { /** * Get permutation from 1:N * @param N * @return Array of permutated indices from 1 to N */ public int [] getPerm(int N) { int [] res = new int[N]; int i, k; // initialization for (i = 0; i < N; i++) res[i] = i + 1; // permutation for (i = 0; i < N-1; i++) { k = i + (int)(Math.random()*(N-i)); int temp = res[i]; res[i] = res[k]; res[k] = temp; } return res; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Permutation permGen = new Permutation(); int N = 5; int [] perm = permGen.getPerm(N); for (int i = 0; i < perm.length; i++) System.out.print(perm[i] + ", "); } }