Here you can find the source of shuffleInPlace(int[] toShuffle, Random random)
Parameter | Description |
---|---|
toShuffle | Array to shuffle |
random | RNG to use for shuffling |
public static void shuffleInPlace(int[] toShuffle, Random random)
//package com.java2s; /*//from ww w. j a va2s . c om * * Copyright 2017 Skymind, Inc. * * * * 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 { /** * Randomly shuffle the specified integer array using a Fisher-Yates shuffle algorithm * @param toShuffle Array to shuffle * @param random RNG to use for shuffling */ public static void shuffleInPlace(int[] toShuffle, Random random) { //Fisher-Yates shuffle: https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle for (int i = 0; i < toShuffle.length - 1; i++) { int j = i + random.nextInt(toShuffle.length - i); int temp = toShuffle[i]; toShuffle[i] = toShuffle[j]; toShuffle[j] = temp; } } }