gpt4 book ai didi

java - 如何在Java中对不同大小的数组进行排序?比如 10、20、50、100、1000 个元素?

转载 作者:行者123 更新时间:2023-12-01 15:23:19 25 4
gpt4 key购买 nike

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

最佳答案

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

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

注意 - fromto参数必须在 [0..size-1] 范围内与 from < to

<小时/>

这是您可以用来创建数组、将它们输入排序器并验证结果的片段:

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

关于java - 如何在Java中对不同大小的数组进行排序?比如 10、20、50、100、1000 个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10547076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com