public void next() {
		for (int k = a.length - 1; k > 0; k--) {
			int w = (int) Math.floor(Math.random() * (k + 1));
			int temp = a[w];
			a[w] = a[k];
			a[k] = temp;
		}

	}
public void next() {
		for (int k = a.length - 1; k > 0; k--) {
			int w = (int) Math.floor(Math.random() * (k + 1));
			int temp = a[w];
			a[w] = a[k];
			a[k] = temp;
		}

	}
public void next ( ) { for ( int k = a . length - 1 ; k > 0 ; k -- ) { int w = ( int ) Math . floor ( Math . random ( ) * ( k + 1 ) ) ; int temp = a [ w ] ; a [ w ] = a [ k ] ; a [ k ] = temp ; } }
It produces the next random permutation
It produces the next random permutation