繁体   English   中英

如何用1-1000的整数创建几乎排序的100数组?

[英]How to create almost sorted array of 100 with integers from 1-1000?

我的作业的一部分需要3个输入大小为100的数组,其整数范围为1-1000。 其中第一个数组是1-1000的随机数。 第二个是从整数1-1000排序的数组。 第3个几乎是从整数1-1000排序的数组。

我的随机数组

  int array [] = new int [100];    // Random Array of 100 
    for ( int i = 0 ; i < array-1 ; i++) {
      array [i] = (int) (Math.random () * 100);
     }

我的排序数组..

  int [] array = new int[100];                    // Sorted Array of 100
    for (int a = 0; a < array.length; a++) {
      array[a] = (a + 1) * 10;
    }

但是如何做一个几乎排序的数组。 我考虑过改组,但这只是随机的。

更快的解决方案:

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;
}

希望它与“几乎已排序”的数组足够接近。

尝试这个,

        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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM