如何在不进行任何导入的情况下随机播放N个大小的数组

时间:2019-05-05 15:40:47

标签: java arrays math random shuffle

目标是改组N大小的数组。代码中不能使用任何导入。即随机

我可以使用如下所示的导入轻松地做到这一点,尽管这些是被禁止的。

private static void shuffleArray(int[] array)
  {
      int index, temp;
      Random random = new Random();
      for (int i = array.length - 1; i > 0; i--)
      {
          index = random.nextInt(i + 1);
          temp = array[index];
          array[index] = array[i];
          array[i] = temp;
      }
  }

最终目标是按随机顺序对数组进行洗牌。伪随机性很好。

1 个答案:

答案 0 :(得分:0)

int []a = new int[]{1,2,3,4,5,6,7,8,9};
for (int i = 0 ; i < a.length; i++)
{
    int index = (int)(System.nanoTime() % a.length);
    int tmp = a[index];
    a[index] = a[i];
    a[i] = tmp;
}