Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中对各种大小的数组进行排序?比如10,20,50,100,1000个元素?_Java - Fatal编程技术网

如何在Java中对各种大小的数组进行排序?比如10,20,50,100,1000个元素?

如何在Java中对各种大小的数组进行排序?比如10,20,50,100,1000个元素?,java,Java,我需要对不同大小的数组进行排序。这些大小是:10个元素、50个元素、100个元素、500个元素和1000个元素。对于每个数组大小,我应该使用一个已经排序的数组、另一个部分排序的数组和一个随机数组。我应该使用三种排序,如快速排序、插入排序或气泡排序。我已经为此工作了2周,但似乎无法创建对阵列的调用 以下是一些实用方法,用于创建测试数组和验证排序方法是否正常工作: public static Integer[] createRandomArray(int size) { Integer[]

我需要对不同大小的数组进行排序。这些大小是:10个元素、50个元素、100个元素、500个元素和1000个元素。对于每个数组大小,我应该使用一个已经排序的数组、另一个部分排序的数组和一个随机数组。我应该使用三种排序,如快速排序、插入排序或气泡排序。我已经为此工作了2周,但似乎无法创建对阵列的调用

以下是一些实用方法,用于创建测试数组和验证排序方法是否正常工作:

public static Integer[] createRandomArray(int size) {
    Integer[] result = new Integer[size];
    Random randomGenerator = new Random();
    for(int i = 0; i < size; i++) {
        result[i] = randomGenerator.nextInt(size*100);
    }
    return result;
}

public static Integer[] createSortedArray(int size) {
    return createPartiallySortedArray(size, 0, size);
}

public static Integer[] createPartiallySortedArray(int size, int from, int to) {
    Integer[] result = createRandomArray(size);
    Arrays.sort(result, from, to);
    return result;
}

public static boolean isSorted(Integer[] original, Integer[] sorted) {
    Integer[] clonedOriginal = Arrays.copyOf(original, original.length);
    Arrays.sort(clonedOriginal);
    return Arrays.equals(clonedOriginal, sorted);
}

那么,您需要帮助的是什么呢?这听起来很像家庭作业……您可以使用类似java的array.Sort()提供的实用程序函数,还可以看到它们实现了什么,类似的实现可以在您的部件上完成让我们看看您的每一行代码。另外,在“调用”数组时,您遇到的确切问题是什么?我尝试对元素10、50、100、500、1000进行排序。我的问题是如何创建一个列表或类来调用这些元素,以便在我的3个排序函数中使用它们。我会发布一些代码,我有:FTW!公共类ArrayTwo{Random r=new Random();int arr[]=new int[50];for(int i=0;i<50;i++){//1到50的部分数:arr[i]=Math.abs(i+(int)(Math.Random()*(double)10)-5)%50;}for(int i=0;i<20;i++{System.out.print(arr[i]+>);我正在尝试创建数组集,可能在一个类中,并让排序调用一个ArrayList。我尝试了ArrayList,但似乎无法构建它。我的问题是如何调用单独的整数或10,20,50100,500,1000的元素。我需要对这些元素进行排序。因此,我正在尝试找出如何将其输入到我的代码中。
array[0]
是数组的第一个元素,
array[array.length-1]
是最后一个元素。花一两分钟学习关于数组的Java教程。我花了两周时间学习教程,在线查看数组、代码等。我仍然没有看到任何quicksort、bubblesort或其他显示int大小为“可选”的演示因此,我可以在一组代码中插入其他元素。如何在不为每个要排序的元素编写代码块的情况下更改int大小。
public static void main(String[] args) {
    List<Integer[]> arrays = new ArrayList<Integer[]>();
    int size = 100;
    arrays.add(createRandomArray(size));
    arrays.add(createPartiallySortedArray(size, 0, size/2));
    arrays.add(createSortedArray(size));

    List<Integer[]> result = doBubbleSort(arrays);  // <- implement that method
    for (int i = 0; i < arrays.size(); i++)
        System.out.println(isSorted(arrays.get(i), result.get(i)));
}