[英]How to create almost sorted array of 100 with integers from 1-1000?
Part of my assignment requires 3 array of input size 100 with integers from 1-1000. 我的作业的一部分需要3个输入大小为100的数组,其整数范围为1-1000。 Where 1st array is of random numbers from 1-1000.
其中第一个数组是1-1000的随机数。 2nd is sorted array from integers 1-1000.
第二个是从整数1-1000排序的数组。 3rd is almost sorted array from integers 1-1000.
第3个几乎是从整数1-1000排序的数组。
My random array.. 我的随机数组
int array [] = new int [100]; // Random Array of 100
for ( int i = 0 ; i < array-1 ; i++) {
array [i] = (int) (Math.random () * 100);
}
My sorted array.. 我的排序数组..
int [] array = new int[100]; // Sorted Array of 100
for (int a = 0; a < array.length; a++) {
array[a] = (a + 1) * 10;
}
But how to do a almost sorted array. 但是如何做一个几乎排序的数组。 I thought about shuffling but that will just be all random.
我考虑过改组,但这只是随机的。
A faster solution: 更快的解决方案:
int [] array = new int[100]; // Almost sorted Array of 100
array[0] = (int)(Math.random () * 10) + 1;
for (int a = 1; a < array.length; a++) {
array[a] = array[a-1] + (int)(Math.random() * 12) - 2;
}
Hope that's close enough to an "almost sorted" array. 希望它与“几乎已排序”的数组足够接近。
Try this, 尝试这个,
int[] values = new int[100];
Random random = new Random();
random.nextInt();
for (int i = 0; i < 100; i++)
{
values[i] = random.nextInt(900) + 100;
}
Arrays.sort(values);
for (int i = 0; i < 100; i++)
{
System.out.println(values[i]);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.