【发布时间】:2016-08-15 13:09:42
【问题描述】:
我需要创建一个大小为 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
}
}
}
我需要使用 Arrays.sort(dataArray) 吗?还是 Arrays.sort(dataArray, Collections.reverseOrder())?但是我听说有人说那些不是小学课的。
请帮忙!!!谢谢!!
这应该是我的步骤:
- 使用 Random 类的 nextInt() 方法创建一个 500 元素的整数数组
- 制作此数组的副本,并将其用作对方法进行排序的参数(数组通过 参考)。
- 测量执行时间以使用冒泡、选择、插入、 快速排序和归并排序
- 使用 Random 类的 nextInt() 方法创建一个包含 5000000 个元素的整数数组。
- 制作此数组的副本,并将其用作对方法进行排序的参数(数组通过 参考)。
- 测量执行时间以使用冒泡、选择、插入、 快速排序和归并排序。
- 测量执行时间以对已排序(按升序)的 500 元素数组进行排序 使用冒泡、选择、插入、快速排序和归并排序。
- 测量执行时间以对已经反向排序(按降序)排序 500- 使用冒泡、选择、插入、快速排序和合并排序的元素数组。
- 测量执行时间以对已排序(按升序)5000000 个元素进行排序 使用冒泡、选择、插入、快速排序和归并排序的数组。
- 测量执行时间以对已经反向排序(按降序)进行排序 5000000- 使用冒泡、选择、插入、快速排序和合并排序的元素数组。
- 将您的结果制成表格并评论六种排序算法对输入的敏感性 数据分布
我对 strp 7 和 8 感到困惑,如何对上面分布的数组进行排序。我应该在哪里添加它?我使用了 Arrays.sort() 但打印出来的结果不是按递增顺序排列的。
【问题讨论】:
-
你可以使用Arrays.sort(dataArray),它会升序排序
-
你成功使用
Arrays.sort(dataArray)了吗?因为它非常简单。除了排序之外,你能澄清一下你问的是什么吗? -
当你说“那些不适合小学课堂”时,你的意思是你没有大声使用像
Arrays课堂这样的外部代码吗? -
引用的重复问题的答案也是关于如何从高到低排序。