Java 如何对随机数数组进行排序

Java 如何对随机数数组进行排序,java,arrays,sorting,Java,Arrays,Sorting,我需要创建一个大小为500的数组,数据是随机分布的,我真的很困惑如何对这个数组进行排序。谁能帮帮我吗 随机编码: import java.util.Random; public class SortTest { public static void main(String[] args) { // create an instance of Random class for random number generation Random random =

我需要创建一个大小为500的数组,数据是随机分布的,我真的很困惑如何对这个数组进行排序。谁能帮帮我吗

随机编码:

import java.util.Random;

public class SortTest {

   public static void main(String[] args) { 

      // create an instance of Random class for random number generation 
      Random random = new Random (1L);

      // begin new scope
      {
      // create an int array of 500 elements
      int[] dataArray = new int[500];

      // populate the array with randomly generated values
      for (int index = 0; index < 500; index++)
        dataArray[index] = random.nextInt();

      // end scope
      }

  }
}
import java.util.Random;
公共类分类测试{
公共静态void main(字符串[]args){
//创建Random类的实例以生成随机数
随机数=新随机数(1L);
//开始新范围
{
//创建一个包含500个元素的整数数组
int[]数据数组=新的int[500];
//使用随机生成的值填充数组
对于(int-index=0;index<500;index++)
dataArray[index]=random.nextInt();
//末端范围
}
}
}
我需要使用Arrays.sort(dataArray)吗?排序(dataArray,Collections.reverseOrder())?但我听说有人说这些不是给小学的

请帮忙!!!谢谢

以下是我的步骤:

  • 使用Random类的nextInt()方法创建500个元素的整数数组
  • 制作此数组的副本,并将其用作对方法进行排序的参数(数组通过 参考)
  • 测量执行时间,使用气泡、选择、插入、, 快速排序和合并排序
  • 使用Random类的nextInt()方法创建5000000个元素的整数数组
  • 制作此数组的副本,并将其用作对方法进行排序的参数(数组通过 参考)
  • 测量执行时间,使用气泡、选择、插入、, 快速排序和合并排序
  • 测量对已排序(按递增顺序)的500元素数组进行排序的执行时间 使用气泡、选择、插入、快速排序和合并排序
  • 测量对已反向排序(按降序)的文件进行排序的执行时间500- 使用气泡、选择、插入、快速排序和合并排序的元素数组
  • 测量对已排序(按递增顺序)5000000个元素进行排序的执行时间 使用气泡、选择、插入、快速排序和合并排序的数组
  • 测量已反向排序(降序)5000000的排序的执行时间- 使用气泡、选择、插入、快速排序和合并排序的元素数组
  • 将你们的结果制成表格,并评论六种排序算法对输入的敏感性 数据分布

  • 我对strp7和strp8感到困惑,如何对上面分布的数组进行排序。我应该在哪里加上呢?我使用了Arrays.sort(),但打印出来的结果不是按递增顺序排列的

    使用此方法
    公共静态无效排序(int[])来自
    java.util.array
    Class

    Arrays.sort(dataArray)

    将数组声明从

    int[] dataArray = new int[500];
    


    如果您想了解一种获得随机数排序数组的好方法,下面是一个使用Java 8 streams的简单解决方案:

    int[] randoms = Random.ints(500).sorted().toArray();
    

    您可以使用Arrays.sort(dataArray),它将按升序排序可能与您成功使用的
    数组重复。sort(dataArray)
    ?因为这很简单。你能澄清一下除了排序之外你在问什么吗?当你说“这些不是小学课堂用的”时,你的意思是你没有在课堂上大声使用像
    Arrays
    类这样的外部代码吗?引用的关于如何从高到低排序的重复问题答案。不,
    Arrays.sort()
    也被重载以操作基本数据类型。我正在添加这个信息。我已经编辑了我的答案,你在答案中间投了一张反对票@4castleAt首先,我说的是实际上属于
    集合的
    sort()
    方法@4CastLean在我更改为ArrayList之后,我不知道如何对该数组进行排序
    public final class java.lang.Integer extends java.lang.Number implements Comparable<java.lang.Integer>
    
    int[] randoms = Random.ints(500).sorted().toArray();