Java Array Shuffle shuffle(T[] array, Random rand)

Here you can find the source of shuffle(T[] array, Random rand)

Description

shuffle

License

Apache License

Declaration

static public <T> void shuffle(T[] array, Random rand) 

Method Source Code

//package com.java2s;
/**//from   w  w w.  j  a v  a2 s .co m
 * Copyright 2014, Emory University
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *     http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.util.Random;

public class Main {
    static public <T> void shuffle(T[] array, Random rand) {
        int i, j, size = array.length - 1;

        for (i = 0; i < size; i++) {
            j = rand.nextInt(size - i) + i + 1;
            swap(array, i, j);
        }
    }

    static <T> void swap(T[] array, int i, int j) {
        T t = array[i];
        array[i] = array[j];
        array[j] = t;
    }
}

Related

  1. shuffle(String str, Random randObj)
  2. shuffle(T[] a, int from, int to, Random rnd)
  3. shuffle(T[] array)
  4. shuffle(T[] array)
  5. shuffle(T[] array)
  6. shuffle(T[] array, Random rand)
  7. shuffle(T[] array, Random random)
  8. shuffle(T[] data)
  9. shuffleArray(double[] ar)