package com.interview.algorithms.random; import java.util.Random; /** * Created with IntelliJ IDEA. * User: stefanie * Date: 10/27/14 * Time: 11:24 AM */ public class PrefectShuffle<T> { public void shuffleBySwap(T[] array){ Random random = new Random(); for(int i = 1; i < array.length; i++){ int rand = random.nextInt(i + 1); swap(array, rand, i); } } public void shuffleByPick(T[] array){ Random random = new Random(); for(int i = 0; i < array.length; i++){ int rand = i + random.nextInt(array.length - i); swap(array, rand, i); } } private void swap(T[] array, int i, int j){ T temp = array[i]; array[i] = array[j]; array[j] = temp; } }