From f1e1382c83786a946bab7d8f9692eb872409c85a Mon Sep 17 00:00:00 2001 From: Pablo Hildo Date: Thu, 4 Oct 2018 22:34:43 -0300 Subject: [PATCH] Added Fisher And Yates Shuffle --- Others/FisherAndYatesShuffle.java | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 Others/FisherAndYatesShuffle.java diff --git a/Others/FisherAndYatesShuffle.java b/Others/FisherAndYatesShuffle.java new file mode 100644 index 000000000000..f7153fbf53d7 --- /dev/null +++ b/Others/FisherAndYatesShuffle.java @@ -0,0 +1,23 @@ +import java.util.Random; +/* +Fisher and Yates is a popular and simple way to shuffle arrays +*/ +public class FisherAndYatesShuffle{ + public static int[] fisherYatesShuffle(int[] array){ + Random random = new Random(); + for (int n = 0; n < array.length; n++){ + int i = n + random.nextInt(array.length - n); + int tmp = array[i]; + array[i] = array[n]; + array[n] = tmp; + } + return array; + + } + public static void main(String[] args) { + int[] numbersToShuffle = {2, 230, 540, 10, 6, 7, 8, 11, 45}; + for (int i:fisherYatesShuffle(numbersToShuffle)){ + System.out.println(i); + } + } +} \ No newline at end of file