Friday, May 24, 2013

Sometimes code can be pretty... and worthless.

public static boolean permutation(List values, int index) {
        return permutation(values, values.size(), index);
    }
    private static boolean permutation(List values, int n, int index) {
        if ((index == 0) || (n == 0))  return (index == 0);
        Collections.swap(values, n, n-(index % n));
        return permutation(values,n-1,index/n);
    }

It finds an indexed permutation for the list. So each permutation index will give a new permutation... at least until you run out of integers which is at about 12 items.

No comments: