Как перемешать элементы массива java
Ответы
Иван Полежаев
14 апреля 2023
Для перемешивания элементов массива в Java
можно использовать алгоритм Фишера-Йетса. Алгоритм заключается в том, чтобы проходить по массиву от конца к началу и на каждом шаге выбирать случайный элемент из всех еще не перемещенных элементов и менять его местами с текущим элементом.
Ниже приведен пример кода, который демонстрирует, как перемешать элементы массива в Java
с помощью алгоритма Фишера-Йетса:
import java.util.Random;
public class Main {
public static void main(String[] args) {
int[] nums = {1, 2, 3, 4, 5, 6, 7, 8, 9};
shuffleArray(nums);
for (int i = 0; i < nums.length; i++) {
System.out.print(nums[i] + " ");
}
}
static void shuffleArray(int[] arr) {
Random rnd = new Random();
for (int i = arr.length - 1; i > 0; i--) {
int index = rnd.nextInt(i + 1);
int temp = arr[index];
arr[index] = arr[i];
arr[i] = temp;
}
}
}
- В этом примере мы создаем массив
arr
из элементов 1 до 9 - затем вызываем метод
shuffleArray(arr)
, который перемешивает элементы массива. - метод
shuffleArray()
реализует алгоритм Фишера-Йетса, используя объектRandom
для генерации случайных чисел.
Вывод кода может быть следующим:
7 4 6 9 8 3 2 5 1
0
0