我有各种排序方法,它们都对相同的 100,000 个随机数数组进行排序。
我正在使用以下方法来查找每个的运行时
long insertionStart = System.currentTimeMillis();
arr.Clone(iniArr);
arr.insertionSort();
long insertionFinal = System.currentTimeMillis() - insertionStart;
以下为随机数数组
int maxSize = 100000; // array size
Sortarr arr, iniArr; // reference to array
arr = new Sortarr(maxSize); // create the array
iniArr = new Sortarr(maxSize);
// insert random numbers
Random generator = new Random();
for (int i = 0; i < maxSize; i++) iniArr.insert(generator.nextInt());
我该如何修改它,以便我可以让它们中的每一个对 100 个数组而不是一个数组进行排序,并计算每个数组的时间?例如。运行1 - 23ms;运行 2 - 25 毫秒;... 运行 100 - 22 毫秒
编辑: 我还有最后一件事要做。所以每次迭代都会以几种方式对数组进行排序,比如说插入、合并和快速排序。所以说插入 = 300 毫秒,合并 = 200 毫秒,快速 = 100 毫秒。对于每次迭代,我需要找到排序最快的方法。
我知道这是一个简单的最小/最大类型的事情,你在较低的编程课程中做了一千次。将每个值放入数组并使用 array.min 调用会更容易吗?(不管它实际上是什么,Java 语法的新手..)