目标是改组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;
}
}
最终目标是按随机顺序对数组进行洗牌。伪随机性很好。
答案 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;
}